Symfony

Messenger Component

Message bus, handlery, transporty, wiadomości asynchroniczne, middleware, ponowne próby, nieudane wiadomości

22 pytań z rozmów·
Mid-Level
1

Jaki jest główny cel komponentu Messenger w Symfony?

Odpowiedź

Komponent Messenger umożliwia dyspozycję wiadomości do handlerów, synchronicznie lub asynchronicznie za pomocą transportów takich jak RabbitMQ, Redis czy Doctrine. Ułatwia budowanie luźno powiązanych architektur, oddzielając emisję wiadomości od jej przetwarzania, co poprawia skalowalność i łatwość utrzymania aplikacji.

2

Jak zdefiniować wiadomość w Symfony Messenger?

Odpowiedź

Wiadomość w Symfony Messenger to po prostu zwykła klasa PHP (POPO) zawierająca dane potrzebne do przetwarzania. Nie jest wymagany żaden interfejs ani klasa nadrzędna. Konwencją jest nazywanie wiadomości opisowymi przyrostkami jak Notification czy Command oraz czynienie ich niemutowalnymi za pomocą właściwości readonly w celu zapewnienia integralności danych.

3

Jak utworzyć handler do przetwarzania wiadomości w Symfony Messenger?

Odpowiedź

Handler to klasa z metodą __invoke(), która otrzymuje wiadomość jako parametr. Atrybut #[AsMessageHandler] automatycznie rejestruje handler. Symfony wykrywa typ wiadomości do obsłużenia dzięki type-hintowi parametru. To podejście wykorzystuje autowiring i unika ręcznej konfiguracji w services.yaml.

4

Który interfejs należy wstrzyknąć, aby dispatchować wiadomość w Symfony Messenger?

5

Czym jest Envelope w kontekście Symfony Messenger?

+19 pytań z rozmów

Opanuj Symfony na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo