Symfony

Messenger Component

Message bus, handler, transport, messaggi asincroni, middleware, retry, messaggi falliti

22 domande da colloquio·
Mid-Level
1

Qual è lo scopo principale del componente Messenger in Symfony?

Risposta

Il componente Messenger consente di dispatchare i messaggi verso gli handler, in modo sincrono o asincrono tramite transport come RabbitMQ, Redis o Doctrine. Facilita la costruzione di architetture disaccoppiate separando l'emissione di un messaggio dalla sua elaborazione, migliorando la scalabilità e la manutenibilità delle applicazioni.

2

Come definire un messaggio in Symfony Messenger?

Risposta

Un messaggio in Symfony Messenger è semplicemente una classe PHP semplice (POPO) che contiene i dati necessari all'elaborazione. Non è richiesta alcuna interfaccia o classe padre. La convenzione è nominare i messaggi con suffissi descrittivi come Notification o Command, e renderli immutabili con proprietà readonly per garantire l'integrità dei dati.

3

Come creare un handler per elaborare un messaggio in Symfony Messenger?

Risposta

Un handler è una classe con un metodo __invoke() che riceve il messaggio come parametro. L'attributo #[AsMessageHandler] registra automaticamente l'handler. Symfony rileva il tipo di messaggio da elaborare grazie al type-hint del parametro. Questo approccio usa l'autowiring ed evita qualsiasi configurazione manuale in services.yaml.

4

Quale interfaccia deve essere iniettata per fare il dispatch di un messaggio in Symfony Messenger?

5

Che cos'è un Envelope nel contesto di Symfony Messenger?

+19 domande da colloquio

Padroneggia Symfony per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis