Symfony6 Techwall #67 Le système d'événements, Créer un événement
https://github.com/aymensellaouti/sf6Techwall
Un événement est une information de l’exécution de n’importe quelle chose qui se passe dans votre application.
Il existe des événement propre à Symfony qui informe sur les différentes états et fonctionnalités du Framework par exemple kernel.request qui est déclenché avant l’exécution du contrôleur et qui vous fournit l’objet request.
Vous pouvez créer vos propres événements.
Un événement est une classe qui étend la classe Event de Symfony\Contracts\EventDispatcher\Event.
Lorsqu’un événement est dispatché, il est identifié par son nom unique.
Le nom unique est une chaine de caractère qui par convention doit suivre les règles suivantes:
Utiliser uniquement les lettres minuscules, les chiffres les points et tirets bas.
Préfixer par le nom suivi d’un . Exemple : user.*
Terminer le nom par un verbe qui indique quel action a été exécuté : user.add
Symfony se définit comme étant un Framework HTTP Request-Response
Durant la prise en charge de la requête HTTP, Symfony dispatche quelques événements informant sur le cycle de vie de votre requête.
Vous pouvez donc vous greffer sur ces événements et modifier comment la requête est gérée et comment la réponse est retournée.
Les événements du noyau de Symfony sont :
kernel.request
kernel.controller
kernel.controller_arguments
kernel.view
kernel.response
kernel.finish_request
kernel.terminate
kernel.exception
Afin d’avoir un code extensible et basée sur des plugins qu’on peut ajouter avant ou après l’exécution d’un code, Symfony nous propose le composant EventDispatcher.
L’idée est de pouvoir ajouter des plugins avec des fonctionnalités qu’on peut greffer sans interférer dans les autres plugins.
L’EventDispatcher de Symfony utilises deux patron de conception pour le faire : Le Médiateur et l’observateur.
L’observateur va nous permettre de faire en sorte qu’un ou plusieurs observateurs sont intéressés par un ou plusieurs sujets. Chaque fois que quelque chose de neuf se produit dans un sujet, tous ses observateurs sont notifiés.
Le médiateur (La classe EventDispatcher) va nous permettre d’encapsuler la manière avec laquelle cet ensemble d’objets vont interagir. Il sera l’intermédiaire.
Pour résumer, le système d’événements de Symfony se base sur :
Un événement (Event)
Un gestionnaire d’événement (Dispatcher)
Les écouteurs sur les événement (Listner)
https://github.com/aymensellaouti/sf6Techwall
Un événement est une information de l’exécution de n’importe quelle chose qui se passe dans votre application.
Il existe des événement propre à Symfony qui informe sur les différentes états et fonctionnalités du Framework par exemple kernel.request qui est déclenché avant l’exécution du contrôleur et qui vous fournit l’objet request.
Vous pouvez créer vos propres événements.
Un événement est une classe qui étend la classe Event de Symfony\Contracts\EventDispatcher\Event.
Lorsqu’un événement est dispatché, il est identifié par son nom unique.
Le nom unique est une chaine de caractère qui par convention doit suivre les règles suivantes:
Utiliser uniquement les lettres minuscules, les chiffres les points et tirets bas.
Préfixer par le nom suivi d’un . Exemple : user.*
Terminer le nom par un verbe qui indique quel action a été exécuté : user.add
Symfony se définit comme étant un Framework HTTP Request-Response
Durant la prise en charge de la requête HTTP, Symfony dispatche quelques événements informant sur le cycle de vie de votre requête.
Vous pouvez donc vous greffer sur ces événements et modifier comment la requête est gérée et comment la réponse est retournée.
Les événements du noyau de Symfony sont :
kernel.request
kernel.controller
kernel.controller_arguments
kernel.view
kernel.response
kernel.finish_request
kernel.terminate
kernel.exception
Afin d’avoir un code extensible et basée sur des plugins qu’on peut ajouter avant ou après l’exécution d’un code, Symfony nous propose le composant EventDispatcher.
L’idée est de pouvoir ajouter des plugins avec des fonctionnalités qu’on peut greffer sans interférer dans les autres plugins.
L’EventDispatcher de Symfony utilises deux patron de conception pour le faire : Le Médiateur et l’observateur.
L’observateur va nous permettre de faire en sorte qu’un ou plusieurs observateurs sont intéressés par un ou plusieurs sujets. Chaque fois que quelque chose de neuf se produit dans un sujet, tous ses observateurs sont notifiés.
Le médiateur (La classe EventDispatcher) va nous permettre d’encapsuler la manière avec laquelle cet ensemble d’objets vont interagir. Il sera l’intermédiaire.
Pour résumer, le système d’événements de Symfony se base sur :
Un événement (Event)
Un gestionnaire d’événement (Dispatcher)
Les écouteurs sur les événement (Listner)
- Catégories
- Evenements
Commentaires