
Events & Listeners
Створення Events, реєстрація Listeners, dispatch Events, Event Subscribers, черговані Listeners, Broadcast Events
1Що таке Event у Laravel?
Що таке Event у Laravel?
Відповідь
Event — це клас, який представляє значущу дію або подію, що сталася в застосунку. Він слугує повідомленням-носієм даних, яке можна dispatch'нути та яке можуть слухати кілька Listeners у роз'єднаний (decoupled) спосіб. Events дозволяють дотримуватися принципу Open/Closed, додаючи поведінку без зміни наявного коду.
2Як створити Event і пов'язаний з ним Listener за допомогою Artisan?
Як створити Event і пов'язаний з ним Listener за допомогою Artisan?
Відповідь
Команда 'php artisan make:event' створює Event, а 'php artisan make:listener' створює Listener. Додавши опцію --event=EventName, Listener автоматично типізується для отримання цього Event. Також можна визначити мапінг у EventServiceProvider, а потім виконати 'php artisan event:generate', щоб автоматично згенерувати всі відсутні Events та Listeners.
3Де реєструвати мапінг між Events та Listeners у Laravel?
Де реєструвати мапінг між Events та Listeners у Laravel?
Відповідь
Мапінг Event-Listener виконується у властивості $listen в EventServiceProvider (App\Providers\EventServiceProvider). Кожен ключ — це повне (fully qualified) ім'я класу Event, а значення — масив Listeners. Починаючи з Laravel 11, також можна використовувати auto-discovery з атрибутами PHP 8 #[ListensTo], щоб уникнути ручної реєстрації.
Як dispatch'нути (запустити) Event у Laravel?
Яка базова структура Listener у Laravel?
+15 питань зі співбесід
Інші теми співбесід Laravel
Основи PHP
Основи ООП у PHP
Composer & Autoloading
Основи Laravel
Маршрутизація в Laravel
Blade Templates
Request & Response
Основи Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
Валідація та форми
Автентифікація
Авторизація та Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Сповіщення та 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
Опануй Laravel для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно