Symfony

Messenger Component

Message bus, handlers, transports, mensagens assíncronas, middleware, retentativas, mensagens com falha

22 perguntas de entrevista·
Mid-Level
1

Qual é o objetivo principal do componente Messenger no Symfony?

Resposta

O componente Messenger permite despachar mensagens para handlers, de forma síncrona ou assíncrona por meio de transports como RabbitMQ, Redis ou Doctrine. Ele facilita a construção de arquiteturas desacopladas ao separar a emissão de uma mensagem do seu processamento, o que melhora a escalabilidade e a manutenibilidade das aplicações.

2

Como definir uma mensagem no Symfony Messenger?

Resposta

Uma mensagem no Symfony Messenger é simplesmente uma classe PHP simples (POPO) que contém os dados necessários para o processamento. Nenhuma interface ou classe pai é necessária. A convenção é nomear as mensagens com sufixos descritivos como Notification ou Command, e torná-las imutáveis com propriedades readonly para garantir a integridade dos dados.

3

Como criar um handler para processar uma mensagem no Symfony Messenger?

Resposta

Um handler é uma classe com um método __invoke() que recebe a mensagem como parâmetro. O atributo #[AsMessageHandler] registra automaticamente o handler. O Symfony detecta o tipo de mensagem a processar por meio do type-hint do parâmetro. Essa abordagem usa autowiring e evita qualquer configuração manual em services.yaml.

4

Qual interface deve ser injetada para despachar uma mensagem no Symfony Messenger?

5

O que é um Envelope no contexto do Symfony Messenger?

+19 perguntas de entrevista

Domine Symfony para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis