从application.ini了解Zend Framework引导过程和资源加载

Mic*_*rey 6 php zend-framework

我非常熟悉Zend Framework的详细信息以及大多数工作原理.我仍然不完全理解的一个领域是Zend Framework从application.ini加载资源的方式.

我知道我可以创建自己的protected _init函数,这些函数将在bootstrap期间自动调用.

Zend Framework文档在某些方面缺乏.

例如:resources.db配置选项如何以及何时加载?我的引导程序中没有任何关于db的内容.这是按需加载还是实际在引导过程中加载?

任何解释这一点的参考链接都会非常有用.

Tim*_*ain 10

你的引导类最终继承自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,但它是你的那种东西除非您的要求有点习惯,否则不需要知道细节.