Zend framework 首先在zend框架上执行什么插件?

Zend framework 首先在zend框架上执行什么插件?,zend-framework,Zend Framework,我在zend framework上的项目中注册了2个插件 application.ini中的第一个 这是为了改变布局 resources.frontController.plugins.LayoutSet=“App\u plugins\u LayoutSet” 第二个在引导中注册 $fc= Zend_Controller_Front::getInstance(); $fc->registerPlugin(new App_Plugins_AccessCheck($thi

我在zend framework上的项目中注册了2个插件 application.ini中的第一个 这是为了改变布局 resources.frontController.plugins.LayoutSet=“App\u plugins\u LayoutSet” 第二个在引导中注册

 $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

插件的触发顺序与它们注册的顺序相同。注册插件时,可以通过传递“堆栈索引”来覆盖此行为

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

上述答案仅部分正确。是的,插件的触发顺序与它们注册的顺序相同,但这也关系到插件使用的事件方法。例如,preDispatch()将在postDispatch()之前触发,依此类推


参见

上述答案仅部分正确。是的,插件的触发顺序与它们注册的顺序相同,但这也关系到插件使用的事件方法。例如,preDispatch()将在postDispatch()之前触发,依此类推