Zend Framework中的布局初始化特性

时间:2011-10-20 08:52:12

标签: zend-framework layout bootstrapping

我注意到Zend Framework的bootstrap有些有趣。我创建了一个新项目然后使用

  

zf启用布局

启用布局引擎。它开箱即用,哇!

但后来我尝试在bootstrap中创建一个名为_initLayout的函数来设置一些选项。有趣的是,这似乎再次禁用了布局,即使函数体实际上是空的。不会抛出任何错误,但不再使用布局脚本(例外情况是我实际再次设置选项并手动调用Zend_Layout::startMvc())。

将函数重命名为其他任何内容,例如_initFoo,使布局再次起作用。

所以,我的问题是:这是一个Zend Framework以某种方式识别的函数名称,并且应用了额外的操作,例如从application.ini中取消布局配置?是否有其他情况我应该避免引导程序中的某些_init*函数名称?

1 个答案:

答案 0 :(得分:3)

Bootstrap的主要用途是设置应用程序使用的资源。这些可以通过配置文件(resources.resourcename.foo)中的行设置,也可以通过引导类(_initResourceName())中的方法设置。我假设zf enable layout已向application.ini添加了一些resources.layout.*行。通过向引导程序添加_initLayout方法,ZF将使用它来设置配置行的布局资源而不是

  

还有其他情况我应该在bootstrap中避免使用某些_init *函数名吗?

资源插件详见手册:http://framework.zend.com/manual/en/zend.application.available-resources.html_init<resourcename>()将始终覆盖配置中的任何相应行。