Symfony

Messenger Component

Message bus, handlers, transports, async messages, middleware, retries, failed messages

22 questions d'entretien·
Confirmé
1

Quel est le rôle principal du composant Messenger dans Symfony ?

Réponse

Le composant Messenger permet de dispatcher des messages vers des handlers, soit de manière synchrone, soit de manière asynchrone via des transports comme RabbitMQ, Redis ou Doctrine. Il facilite la mise en place d'architectures découplées en séparant l'émission d'un message de son traitement, ce qui améliore la scalabilité et la maintenabilité des applications.

2

Comment définir un message dans Symfony Messenger ?

Réponse

Un message dans Symfony Messenger est simplement une classe PHP plain (POPO) qui contient les données nécessaires au traitement. Aucune interface ou classe parent n'est requise. La convention est de nommer les messages avec un suffixe descriptif comme Notification ou Command, et de les rendre immutables avec des propriétés readonly pour garantir l'intégrité des données.

3

Comment créer un handler pour traiter un message dans Symfony Messenger ?

Réponse

Un handler est une classe avec une méthode __invoke() qui reçoit le message en paramètre. L'attribut #[AsMessageHandler] permet d'enregistrer automatiquement le handler. Symfony détecte le type de message à traiter grâce au type-hint du paramètre. Cette approche utilise l'autowiring et évite toute configuration manuelle dans services.yaml.

4

Quelle interface faut-il injecter pour dispatcher un message dans Symfony Messenger ?

5

Qu'est-ce qu'un Envelope dans le contexte de Symfony Messenger ?

+19 questions d'entretien

Maîtrise Symfony pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement