Je commence un nouveau projet en utilisant Symfony 3.3. Je voudrais utiliser les nouvelles fonctionnalités autoconfigure/autowiring, mais je suis en train de rencontrer un problème, je ne sais pas comment résoudre.Les services Symfony autowire échouent parce que deux services sont basés sur la même classe
J'ai la définition des services suivants provenant d'un faisceau externe:
command_bus:
class: Name\Space\To\MessageBusSupportingMiddleware
...
event_bus:
class: Name\Space\To\MessageBusSupportingMiddleware
...
Les deux services sont basés sur la même classe « MessageBusSupportingMiddleware », mais leur intention est tout à fait différent bien sûr. Maintenant, je veux que Symfony 3.3 injecte automatiquement le service "command_bus" dans mon contrôleur. Mais pour cela, je dois utiliser la classe dans le constructeur comme ceci:
public function __construct(
MessageBusSupportingMiddleware $commandBus
){
$this->commandBus = $commandBus;
}
Dans ce cas cependant, Symfony se plaint parce qu'elle trouve effectivement plusieurs définition de service lié à cette classe et il ne peut donc pas savoir lequel fournir.
Comment pensez-vous que je pourrais gérer cette situation?