0

我似乎无法理解如何访问控制器中 global.php 中的自定义配置数据。我正在使用zf2。每当我尝试:

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

我收到以下错误:

Fatal error: Call to a member function get() on a non-object 

我知道这与服务管理器/定位器有关,但我对 ZF2 和整个 DI 精神非常陌生。我完全被卡住了,需要一个简单的例子来说明如何配置 SM 以允许访问它以提取我的自定义配置值。下面是我的 module.config.php 我不知道在空数组中放什么。我没有使用任何数据库。我想将 ldap 选项存储在 global.php 中,我可以在控制器中访问这些选项并传递给模型以创建新的 ldap 实例。

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

    public function getAutoloaderConfig()
    {
        return array(
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ),
            ),
            'Zend\Loader\ClassMapAutoloader' => array(
              __DIR__ . '/autoload_classmap.php',
            ),
        );
    }

    public function getServiceConfig()
    {
      return array();
    }
}
4

1 回答 1

0

在构造函数中访问 getServiceConfig 方法会产生一个空对象。我搬家了

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

到控制器的 get 方法,并且能够访问我需要的配置数据。

于 2013-03-07T14:40:11.033 回答