zoukankan      html  css  js  c++  java
  • zend framework,init()

       首先我们了解一下类的构造函数的执行顺序,参看这里:
            http://hi.baidu.com/renyuan1985/blog/item/2ef2c3c65a59e8139d163db9.html
            下面介绍一下我的代码结构;

    class Action extends Zend_Controller_Action {

            }
            class IndexController extends Action{
      
           }
            class BlogController extends Action{
      
           }
          
          刚开始我想使用构造函数,如下:
     class Action extends Zend_Controller_Action {
                    public function __construct(){
                            echo 'test';
                     }
            }
       

           但后来发生错误,最后发现原因是没有调用
    Zend_Controller_Action中的构造函数。
          
            细读
    Zend_Controller_Action的源码发现123行构造函数 调用了函数 $this->init();
    因此我想在
    Action重构这个函数,这样就可以每次调用init()函数。
            最后是:
     class Action extends Zend_Controller_Action {
                    public function init(){
                            echo 'test';
                     }
            }
       
            

    好了,每个controller都会执行这个函数。
     这个技巧还是很实用的!

     

    最后提醒大家的是,每次执行的时候,是先执行Controller的初始化函数init()内部的代码,然后根据选择相应的Action(),执行相应的代码

  • 相关阅读:
    HTTP状态码总结
    spring boot 文件上传
    JQuery Ajax上传文件
    git常用的操作
    git使用ssh clone时报错
    openssl安装
    h5 手机浏览器打开app
    火狐浏览器刷新后表单不重置 (自动填充)
    js Date() 相关
    css中的定位
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/1863732.html
Copyright © 2011-2022 走看看