私はDIがZF2とどのように機能するか少し混乱します。私はその周りに頭を抱えようと数日間過ごしました。私はいくつかの進歩を遂げてきましたが、それでも多くのことが私を困惑させています...Zendframework2依存性注入の混乱
この(http://akrabat.com/getting-started-with-zend-framework-2/)チュートリアルを使用して、
'di' => array('instance' => array(
'alias' => array(
'album' => 'Album\Controller\AlbumController',
),
'Album\Controller\AlbumController' => array(
'parameters' => array(
'albums' => 'Album\Model\Albums',
),
),
作品私たちのアルバムコントローラクラスで、我々はsetAlbum機能を持っているので、次のことを把握。したがって、DIクラスがそのsetAlbums関数を呼び出して、それを 'Album \ Model \ Albums'クラスに渡すとき。
ファインは問題が...
今すぐ私はZendの\ビュー内が期待
'Zend\View\HelperLoader' => array(
'parameters' => array(
'map' => array(
'url' => 'Application\View\Helper\Url',
),
),
),
のは、(Zendのサイトオフスケルトンアプリケーションに来ている)これを見てみましょうしないことを取得します\ HelperLoader(または継承クラス)には、DIクラスが配列を渡すsetMap()関数が含まれています。しかし、これはそうではないようです。私はどこでもsetMapを見つけることができません。
私の質問は、私がDIがZF2で動作する方法を理解していないのですが···上記のコード(zend \ view \ helperについて)は実際に何をするのでしょうか? Zend \ View \ HelperLoaderに実際に何か 'map' => array( 'url' => 'Application \ View \ Helper \ Url')を注入するのですか?
誰にでも助けていただきありがとうございます。私はそれがベータフレームワークであり、私が何ヶ月の間に適用されない答えを得ることができてうれしいです。しかし、これはすべてかなり基本的なようだと私はそれを取得していない!
私はこれをうまくやったと思います。(よくほとんど..) func_get_argsは、コンストラクタのパラメータ名($ map = null)を取得するために使用されます。したがって、上記の私のコードでは、$ mapのコンストラクタはarray(array( 'url' => 'Application \ View \ Helper \ Url ') $ map1のコンストラクタparamに変更を加えてテストしましたが、上記の動作を停止させました。次に、map1 => arrayに変更し、すべてが再び動作するようになりました。 – james