php代码:
/*首先我们了解一下类的构造函数的执行顺序 下面介绍一下我的代码结构;*/ 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(),执行相应的代码*/