我有第一个Bootstrap.php
调用插件控制器,谁(插件)调用另一个Bootstrap
。在第二个Bootstrap
中,我调用另一个插件控制器,但preDispatch()
函数未被调用...
这条道路:
Bootstrap => Plugin (preDispatch) => Bootstrap (another) => Plugin (preDispatch not called)
我想,这是因为preDispatch
总是在第一个插件控制器中调用。
所以,我的解决方案是在第一个Bootstrap中加载我的所有插件,但我不喜欢它...
你有其他想法吗?
答案 0 :(得分:0)
这个设置的问题是,当您从第二个引导程序文件注册插件时,Zend_Controller_Front
已经在所有已注册的插件上调用了此方法,并且在此事件之后注册的任何内容将永远不会收到此事件电话。
为了更好地掌握这个概念,请尝试在Zend_Controller_Front
中查看~900-920行。这是创建事件的地方,并且由于只能有1个前端控制器,因此该代码永远不会运行两次。