Nous écrivons actuellement un module Zend Framework 2.ZF2 injection Alias et Dépendance plusieurs instances
J'ai assez mal à trouver la documentation à ce sujet, mais sachez qu'il est possible.
J'ai 3 classes dans une hiérarchie que je voudrais configurer via l'injection de dépendance. Appelons ces classes; ClassA, ClassB et ClassC. ClassA contient un tableau d'instances ClassB et ClassB contient un tableau d'instances ClassC. Chaque instance de ClassB doit être instanciée à l'aide de différents paramètres. La même chose s'applique pour ClassC. Les paramètres des 3 classes sont transmis via le constructeur (ceci peut aussi être géré avec un setter si nécessaire).
<?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;
}
}
Donc, ils sont 2 parties à mes questions. Tout d'abord, comment puis-je configurer plusieurs instances de la même classe avec différents paramètres injectés? Par exemple, plusieurs instances de ClassB chacune avec son propre sous-ensemble d'instances ClassC. Il doit y avoir une sorte d'alias dans le ZF2 DiC.
Deuxièmement, comment puis-je injecter un tableau de dépendances de reconfiguration dans une classe. Par exemple, comment puis-je injecter un tableau d'instances ClassB dans ClassA?
Si possible, veuillez me donner un exemple en utilisant directement le DiC et un exemple de réalisation dans la section DI du module.config.php.