在Zend Framework 2中访问config全局

时间:2013-11-05 09:39:17

标签: php zend-framework2 service-locator

我想访问位于我的个人库(位于config/{,*.}{global,local}.php目录中)的全局配置(vendor)。 但是,尽管我在网上搜索,但我没有成功实现这一目标。

我知道如何访问模块的配置文件:

\MyModule\Module::getConfig()

我知道如何从控制器访问全局配置:

$this->getServiceLocator()->get('config');

但是如何从供应商目录中的文件中访问这些? 我的库没有扩展任何东西,它可能是问题的根源? 我可以使用静态方法来访问这些吗?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以通过serviceManager获取它。 在控制器中:

$config = $this->getServiceLocator()->get('Config');

否则同样,只需要服务管理器,在Module.php中使用exmple:

  public function getConfig()
  {
    return include __DIR__ . '/config/module.config.php';
  }

  public function getServiceConfig()
  {
    return array(
        'factories' => array(
            'mail.transport' =>  function($sm) {
                $config = $sm->get('Config');

                 switch($config['mail']['transport']['type']){
                ..................

答案 1 :(得分:0)

简单的方法来做到这一点。不仅在模块中,而且在任何地方。

$config = new \Zend\Config\Config( include APPLICATION_PATH.'/config/autoload/global.php' ); 

echo $config->myconfig;

在public / index.php中定义APPLICATION_PATH