【问题标题】:layout initialisation peculiarity in Zend FrameworkZend 框架中的布局初始化特性
【发布时间】:2011-10-20 08:52:12
【问题描述】:

我注意到 Zend Framework 的引导程序有一些有趣的地方。我创建了一个新项目,然后使用

zf 启用布局

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

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

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

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

【问题讨论】:

    标签: zend-framework layout bootstrapping


    【解决方案1】:

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

    在其他情况下我应该避免在引导程序中使用某些 _init* 函数名称吗?

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

    【讨论】:

    • 谢谢,这完全回答了我的问题:)。
    猜你喜欢
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多