現在、Zend Framework 2 でモジュールを作成しています。
これに関するドキュメントを見つけるのにかなり苦労していますが、可能であることは知っています。
依存性注入を介してセットアップしたい階層に 3 つのクラスがあります。これらのクラスを呼び出しましょう。クラスA、クラスB、クラスC。
ClassA には ClassB インスタンスの配列が含まれ、ClassB には ClassC インスタンスの配列が含まれます。ClassB の各インスタンスは、異なるパラメーターを使用してインスタンス化する必要があります。同じことが ClassC にも当てはまります。3 つのクラスすべてのパラメーターは、コンストラクターを介して渡されます (これは、必要に応じてセッターで処理することもできます)。
<?php
class ClassA {
protected $arrClassBInstances = array();
public function __construct( $arrClassBInstances ) {
$this->arrClassBInstances = $arrClassBInstances;
}
}
class ClassB {
protected $arrClassCInstances = array();
protected $someOtherParam = "";
public function __construct( $arrClassCInstances, $someOtherParam ) {
$this->arrClassBInstances = $arrClassCInstances;
$this->someOtherParam = $someOtherParam;
}
}
class ClassC {
protected $someParam = "";
public function __construct( $someParam ) {
$this->someParam = $someParam;
}
}
したがって、それらは私の質問の2つの部分です。まず、異なるパラメーターが注入された同じクラスの複数のインスタンスを構成するにはどうすればよいですか? たとえば、それぞれ独自の ClassC インスタンスのサブセットを持つ ClassB の複数のインスタンス。ZF2 DiC には何らかのエイリアスが必要です。
次に、再構成依存関係の配列をクラスに挿入するにはどうすればよいですか。たとえば、ClassB インスタンスの配列を ClassA に挿入するにはどうすればよいですか?
可能であれば、DiC を直接使用する例と、module.config.php の DI セクションでこれを実現する例を提供してください。