Symfony

Messenger Component

Message bus, handlers, transports, mensajes asíncronos, middleware, reintentos, mensajes fallidos

22 preguntas de entrevista·
Mid-Level
1

¿Cuál es el propósito principal del componente Messenger en Symfony?

Respuesta

El componente Messenger permite despachar mensajes a los handlers, ya sea de forma síncrona o asíncrona a través de transports como RabbitMQ, Redis o Doctrine. Facilita la construcción de arquitecturas desacopladas al separar la emisión de un mensaje de su procesamiento, lo que mejora la escalabilidad y la mantenibilidad de las aplicaciones.

2

¿Cómo definir un message en Symfony Messenger?

Respuesta

Un message en Symfony Messenger es simplemente una clase PHP plana (POPO) que contiene los datos necesarios para el procesamiento. No se requiere ninguna interfaz ni clase padre. La convención es nombrar los messages con sufijos descriptivos como Notification o Command, y hacerlos inmutables con propiedades readonly para garantizar la integridad de los datos.

3

¿Cómo crear un handler para procesar un message en Symfony Messenger?

Respuesta

Un handler es una clase con un método __invoke() que recibe el message como parámetro. El atributo #[AsMessageHandler] registra automáticamente el handler. Symfony detecta el tipo de message a procesar gracias al type-hint del parámetro. Este enfoque usa autowiring y evita cualquier configuración manual en services.yaml.

4

¿Qué interfaz se debe inyectar para despachar un mensaje en Symfony Messenger?

5

¿Qué es un Envelope en el contexto de Symfony Messenger?

+19 preguntas de entrevista

Domina Symfony para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis