- Ymox,
Bonsoir !
Une fois n’est pas coutume, je viens vers vous pour un détail qui m’aurait échappé…
J’essaie de mettre en place un EntityListener pour automatiser des traitements par lots. J’ai une bibliothèque de partitions, et j’aimerais mettre en place de quoi gérer les prêts. Pour ça, il y a une entité Lending (pas trouvé de mot plus approprié) qui est en ManyToMany avec une entité Piece. L’idée étant qu’à la création d’un Lending, le statut des objets Piece soit mis à jour.
J’ai tenté de lier le listener dans les mappings, et de suivre la documentation officielle avec des paramètres supplémentaires que j’avais trouvés je-ne-sais-plus comment avec une version précédente de Symfony (tout en utilisant la possibilité de déclarer ses services de manière plus compacte). Au final, j’ai ce que je vous propose ci-dessous.
- La version déclarée uniquement dans les mappings n’est pas reconnue (impossible de voir le service avec la commande
debug:container --show-private
, et mes instructions de débogage ne sont pas déclenchées) ; -
Si je déclare à la fois dans les mappings et comme service :
- Si les tags sont spécifiés dans
services.yml
, j’ai une erreur pour avoir défini deux fois le service ; - Si j’enlève les tags, rien ne fonctionne.
- Si les tags sont spécifiés dans
- Avec la déclaration dans
services.yml
, il est bien reconnu par Symfony :
Seulement, aucune de mes instructions de débogage n’est appelée, et les modifications attendues ne sont pas effectuées. J’ai ajouté les paramètres entity
, event
et method
parce qu’apparemment j’en avais eu besoin pour une autre application avec une version moins récente de Symfony (je suis en 3.3.12 avec Doctrine 2.6, j’étais en 3.3.1 et aucune idée de la version de Doctrine alors).
Quelqu’un arriverait à avoir le recul que je n’arrive pas à avoir ?
Merci d’avance