我在我的项目中注册了2个插件,在zend框架中第一个在application.ini中,这是用于更改布局resources.frontController.plugins.LayoutSet ="App_Plugins_LayoutSet",第二个在注册表中的bootstrap
$fc= Zend_Controller_Front::getInstance(); $fc->registerPlugin(new App_Plugins_AccessCheck($this->_acl));
2插件工作正常,我想知道最初插件执行的是什么,我们可以更改这些插件的先前执行吗?
插件按照注册顺序触发.您可以通过在注册插件时传递"堆栈索引"来覆盖此行为.
OO方式:
$front->registerPlugin(new FooPlugin(), 1); // will trigger early $front->registerPlugin(new BarPlugin(), 100); // will trigger late
application.ini方式:
resources.frontController.plugins.foo.class = "FooPlugin" resources.frontController.plugins.foo.stackIndex = 1 // will trigger early resources.frontController.plugins.bar.class = "BarPlugin" resources.frontController.plugins.bar.stackIndex = 100 // will trigger late
来源:ZF中的Zend控制器插件