我非常熟悉Zend Framework的详细信息以及大多数工作原理.我仍然不完全理解的一个领域是Zend Framework从application.ini加载资源的方式.
我知道我可以创建自己的protected _init函数,这些函数将在bootstrap期间自动调用.
Zend Framework文档在某些方面缺乏.
例如:resources.db配置选项如何以及何时加载?我的引导程序中没有任何关于db的内容.这是按需加载还是实际在引导过程中加载?
任何解释这一点的参考链接都会非常有用.
您的引导类最终继承自Zend_Application_Bootstrap_BootstrapAbstract.此类中的bootstrap()方法首先搜索前缀为_init的类方法,然后运行这些方法.然后它会查找资源插件,这些插件由options数组的“resources”部分填充. options数组来自传递给Zend Application的配置,它通常来自application.ini.
资源插件映射到文件系统上的类.所以resources.db默认会创建一个Zend_Application_Resource_Db的实例并运行它(它依次设置相关的db东西).这里有完整的内置资源列表:http://framework.zend.com/manual/en/zend.application.available-resources.html
除非您告诉引导程序仅初始化特定的应用程序资源,否则所有应用程序资源都在引导过程中运行.
在文档中有一个相当详细的概述,它们是如何组合在一起的:http://framework.zend.com/manual/en/zend.application.theory-of-operation.html,但除非你的要求有点习惯,否则你真的不需要知道细节.