【问题标题】:accessing the getOptions() of Zend_Application_Bootstrap_Bootstrap访问 Zend_Application_Bootstrap_Bootstrap 的 getOptions()
【发布时间】:2012-03-09 03:34:50
【问题描述】:

我正在使用默认的Zend_Application 设计模式,它会在应用程序引导程序中自动加载一个 zend 配置 ini 文件,我需要跨许多模型和控制器加载 ini 文件的变量。

现在,我正在通过将配置对象设置为Zend_Registry 的键来解决它:

protected function _initConfig()
{
    $config = new Zend_Config($this->getOptions());
    Zend_Registry::set('config', $config);
}

一般来说,我不喜欢使用 Zend_Registry,因为它不提供在我的 IDE 中自动完成的代码,而且很难跟踪我在注册表命名空间中的内容。

还有其他方法可以访问 Zend_Application 的配置 ini 吗?

【问题讨论】:

    标签: php zend-framework zend-config


    【解决方案1】:

    您可以随时根据需要自行初始化它

    $options = new Zend_Config_Ini('/path/to/config.ini',
                                   'config');
    

    Wich 几乎就是引导程序为您所做的。然后你会在 $options 上自动完成。但是每次需要时都必须对其进行初始化。 我认为修改你的代码以适应自动完成并不是有史以来最好的主意。但这是个人的。

    如果我没记错 Zend Studio 8/9(可能是 7),即使 Zend_Registry::get() 返回的对象也可以自动完成。

    【讨论】:

      【解决方案2】:

      在控制器中你应该能够做到:

      $this->getInvokeArg('bootstrap')->getOptions();
      

      访问配置。对于模型,您确实应该传递您需要的选项。否则你唯一的选择就是注册表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多