Est-il un peu plus de documentation à ce sujet? J'ai aussi un Auditeur en tant que service. Dans ma config.yml j'ai quelques réglages que je souhaite pour l'accès à l'Auditeur, dois-je configurer comme arguments? Veuillez noter que depuis Symfony 2.8, vous devez citer ces arguments: arguments: [ "@routeur", "@service_container", "%your_param_name%" ] Ne fonctionne pas pour moi, ou au moins avec un FilterResolveEvent expédié au nom de noyau.réponse de l'événement dans Symfony 4. Le constructeur est tenu invoqué avec 0 arguments résultant en une exception. La recherche sur le web ne donne pas un indice mais plusieurs obsolète correspond ici à ou dans les blogs de répéter qu'une partie de la vérité qui est dans l'officiel de Symfony tutoriel. Désolé, mais l'ensemble de ce cadre est un gâchis ... en est-il de toute la documentation officielle de page expliquant tout cela "mettre de l'avant des arguments % ou @ en YAML, donc Écouteurs d'Événement obtenez un argument au constructeur en conséquence"?
En passant l'ensemble du conteneur dans ce cas est une Mauvaise Idée™. Point de pris, merci pour suggérer. Pourquoi le passage de l'ensemble du conteneur une mauvaise idée? parce que les dépendances devraient être explicite et facile mockable pour les tests. Aussi, faire vos classes au courant de la DIC liens entre eux pour un particulier de la DIC. Pas bon, pas bon.
Vous pouvez passer des paramètres du conteneur dans votre service à l'aide de la
%your_param_name%
notation:qui se présentera comme (dans cet exemple) le 3ème argument dans votre service constructeur de la méthode:
Veuillez noter que depuis Symfony 2.8, vous devez citer ces arguments: arguments: [ "@routeur", "@service_container", "%your_param_name%" ]
Ne fonctionne pas pour moi, ou au moins avec un FilterResolveEvent expédié au nom de noyau.réponse de l'événement dans Symfony 4. Le constructeur est tenu invoqué avec 0 arguments résultant en une exception. La recherche sur le web ne donne pas un indice mais plusieurs obsolète correspond ici à ou dans les blogs de répéter qu'une partie de la vérité qui est dans l'officiel de Symfony tutoriel. Désolé, mais l'ensemble de ce cadre est un gâchis ... en est-il de toute la documentation officielle de page expliquant tout cela "mettre de l'avant des arguments % ou @ en YAML, donc Écouteurs d'Événement obtenez un argument au constructeur en conséquence"?
OriginalL'auteur richsage
Résolu: Nous avons besoin de passer le
@service_container
comme un argument pour le service d'écoute deMyBundleName/Ressources/services.yml:
Auditeur Classe:
Point de pris, merci pour suggérer.
Pourquoi le passage de l'ensemble du conteneur une mauvaise idée?
parce que les dépendances devraient être explicite et facile mockable pour les tests. Aussi, faire vos classes au courant de la DIC liens entre eux pour un particulier de la DIC. Pas bon, pas bon.
OriginalL'auteur Amit