
Messenger Component
Message bus, handlers, transports, mensajes asíncronos, middleware, reintentos, mensajes fallidos
1¿Cuál es el propósito principal del componente Messenger en Symfony?
¿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?
¿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?
¿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.
¿Qué interfaz se debe inyectar para despachar un mensaje en Symfony Messenger?
¿Qué es un Envelope en el contexto de Symfony Messenger?
+19 preguntas de entrevista
Otros temas de entrevista Symfony
PHP Moderno (8.1+)
Fundamentos de Symfony
Routing & Controllers
Twig & Templates
Fundamentos de Doctrine ORM
Formularios Symfony
Validación de datos
Dependency Injection & Services
Security & Authentication
Doctrine avanzado
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
HTTP Client
Cache y Rendimiento
Workflow Component
Testing Symfony
Mailer Component
Traducciones e i18n
EasyAdmin Bundle
Arquitectura Symfony
Rendimiento y optimización
Seguridad avanzada
Bundles Personalizados
Microservices con Symfony
Real-time & WebSockets
Deployment & DevOps
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