アプリケーション全体からログファイルにさまざまなデバッグメッセージを記録するためのロガークラス(Application \ Debug \ Logger)があります。そして、単純なエイリアス「logger」を使用してそのクラスのインスタンスを取得したいと思います。そこで、Zend \ Di \ Diを構成して、たとえば、モジュールコントローラーや別のアプリケーションコンポーネントで次のようなことを実行できるようにします。
$di = new \Zend\Di\Di();
$logger = $di->get('logger');
//$logger should be Application\Debug\Logger instance...
これを実現するために、Application / config/module.config.phpにこれがあります。
'di' => array(
'instance' => array(
'alias' => array(
'logger' => 'Application\Debug\Logger',
),
),
)
しかし、問題は次のとおりです。エイリアス「ロガー」が機能しません。Diを使用して、フルネーム(Application \ Debug \ Logger)でクラスを取得できますが、エイリアスでは取得できません(エラーが発生します:クラスロガーが提供された定義に見つかりませんでした)。どういうわけか、設定をDiに渡す必要があると思いますが、方法がわかりません。手伝って頂けますか?