Laravel

Events & Listeners

Tworzenie Events, rejestracja Listenerów, dispatch Events, Event Subscribers, kolejkowane Listenery, Broadcast Events

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

Czym jest Event w Laravel?

Odpowiedź

Event to klasa reprezentująca istotną akcję lub zdarzenie, które wystąpiło w aplikacji. Pełni rolę wiadomości przenoszącej dane, którą można dispatchować i nasłuchiwać przez wiele Listenerów w sposób luźno powiązany (decoupled). Events pozwalają przestrzegać zasady Open/Closed poprzez dodawanie zachowań bez modyfikowania istniejącego kodu.

2

Jak utworzyć Event i powiązany z nim Listener za pomocą Artisan?

Odpowiedź

Polecenie 'php artisan make:event' tworzy Event, a 'php artisan make:listener' tworzy Listener. Dodanie opcji --event=EventName powoduje, że Listener jest automatycznie typowany do odbierania tego Eventu. Można też zdefiniować mapowanie w EventServiceProvider, a następnie uruchomić 'php artisan event:generate', aby automatycznie wygenerować wszystkie brakujące Eventy i Listenery.

3

Gdzie zarejestrować mapowanie między Eventami a Listenerami w Laravel?

Odpowiedź

Mapowanie Event-Listener odbywa się we właściwości $listen w EventServiceProvider (App\Providers\EventServiceProvider). Każdy klucz to w pełni kwalifikowana nazwa klasy Event, a wartość to tablica Listenerów. Od Laravel 11 można też używać auto-discovery z atrybutami PHP 8 #[ListensTo], aby uniknąć ręcznej rejestracji.

4

Jak dispatchować (wyzwolić) Event w Laravel?

5

Jaka jest podstawowa struktura Listenera w Laravel?

+15 pytań z rozmów

Opanuj Laravel 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