Event Flashcards
qu’est ce qu’un eventListener et comment le déclarer
C’est un service qui va écouter un Event et est tagger comme étant un listener. Peut aussi être déclarer par attribut #[AsEventListener]
quel methode d’un listener sera appelé
option “method” si mentionné sinon method “invoke()”
comment gérer la priorité des plusieurs Listener sur un meme Event
utilisé l’option “priority” (plus il est grand plus il est prioritaire)
une classe peut-elle écouter pls events ?
Oui ! Il suffit de déclarer plusieurs attribut #[AsEventListener] et mentionner la method d’appel / Peut aussi etre déclarer sur la methode de la classe directement
quel est la différence entre un EventListener et un EventSubscriber
l’EventSubscriber connait ce qu’il écoute et pas le EventListener. l’EventSubscriber est plus facile a reutiliser et l’EventListener est plus flexible
A quoi faut-il faire attention lorsqu’on listen des Event HTTP
à bien gérer si il s’agit de la main request ou une sub-request
comment debugger les events
php bin/console debug:event-dispatcher
comment debugger un type d’event particulier
php bin/console debug:event-dispatcher kernel.exception
comment créer un filtre logic avant l’execution d’un controller
créer une I que le controller va déclarer en implements et ensuite créer un EventSubscriber “onKernelController” et faire un test si le controller est une instance de l’I et établir la regle
comment effectuer un process Post Controller
utiliser le kernel.response Event (un EventSubscriber avec onKernelResponse)
comment envoyer un custom Event dans un process logic business
$this->dispatcher->dispatch($event, ‘mailer.pre_send’); et ensuite créer un EventSubscriber sur cette event