0

コントローラのglobal.phpにあるカスタム構成データにアクセスする方法を理解できないようです。私はzf2を使用しています。私が試みるときはいつでも:

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

次のエラーが発生します。

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

私はそれがサービスマネージャー/ロケーターと関係があることを知っていますが、私はZF2とDIの精神全体に非常に慣れていません。私は完全に立ち往生しており、カスタム構成値を引き出すためにSMにアクセスできるように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メソッドにアクセスすると、オブジェクトがnullになります。引っ越した

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

getメソッドにコントローラーを追加し、必要な構成データにアクセスできました。

于 2013-03-07T14:40:11.033 に答える