
Events & Listeners
Tworzenie Events, rejestracja Listenerów, dispatch Events, Event Subscribers, kolejkowane Listenery, Broadcast Events
1Czym jest Event w Laravel?
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.
2Jak utworzyć Event i powiązany z nim Listener za pomocą Artisan?
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.
3Gdzie zarejestrować mapowanie między Eventami a Listenerami w Laravel?
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.
Jak dispatchować (wyzwolić) Event w Laravel?
Jaka jest podstawowa struktura Listenera w Laravel?
+15 pytań z rozmów
Inne tematy rekrutacyjne Laravel
Podstawy PHP
Podstawy programowania obiektowego w PHP
Composer & Autoloading
Podstawy Laravel
Routing w Laravel
Blade Templates
Request & Response
Podstawy Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
Walidacja i formularze
Uwierzytelnianie
Autoryzacja i Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Powiadomienia & Mail
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Performance Optimization
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
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