我在每个模块中都有模块boostrap文件,这些文件正在加载(我相信)文件系统顺序。如何使它们按照我指定的特定顺序加载/执行?
我的应用程序中有4个模块。
1. 1module
2. 2module
3. 3module
4. 4module.
每个模块都有自己的引导程序,根据文件系统的顺序加载。 在上面的情况。应用程序按以下顺序加载上述模块的bootstraps。
1. loads bootstrap of module 1
2. loads bootstrap of module 2
3. loads bootstrap of module 3
4. loads bootstrap of module 4.
但我喜欢按照以下顺序或以指定的任何顺序加载模块的bootstraps。
1. loads bootstrap of module 3
2. loads bootstrap of module 1
3. loads bootstrap of module 4
4. loads bootstrap of module 2
如何更改序列?
相关阅读,但不是我想要的。http://phpdev.ro/zf-tutorial-series-part-1-module-based-app.html
答案 0 :(得分:1)
通常,没有明确指定引导顺序。
但是,如果一个应用程序资源或_initXXX()
方法需要首先初始化另一个资源,您可以调用:
$bootstrap->bootstrap('someResource');
$someResource = $bootstrap->getResource('someResource');
确保名为someResource
的资源在使用之前全部自举。
请注意,如果您在扩展Zend_Application_Bootstrap_Bootstrap
的应用程序引导程序中,则调用是:
$this->bootstrap('someResource');
$someResource = $this->getResource('someResource');
如果你在扩展Zend_Application_Module_Bootstrap
的模块引导程序中,那么它会稍微改变为:
$application = $this->getApplication();
$application->bootstrap('someResource');
$someResource = $application->getResource('someResource');
答案 1 :(得分:0)
执行此操作的唯一方法是在模块前添加字母顺序的字母。或者,覆盖Zend_Application_Module_Bootstrap / Zend_Application_Resource_Modules并为其提供一个配置文件,其中包含应该引导的顺序。