Laravel

Events & Listeners

Створення Events, реєстрація Listeners, dispatch Events, Event Subscribers, черговані Listeners, Broadcast Events

18 питань зі співбесід·
Mid-Level
1

Що таке Event у Laravel?

Відповідь

Event — це клас, який представляє значущу дію або подію, що сталася в застосунку. Він слугує повідомленням-носієм даних, яке можна dispatch'нути та яке можуть слухати кілька Listeners у роз'єднаний (decoupled) спосіб. Events дозволяють дотримуватися принципу Open/Closed, додаючи поведінку без зміни наявного коду.

2

Як створити 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?

Відповідь

Мапінг Event-Listener виконується у властивості $listen в EventServiceProvider (App\Providers\EventServiceProvider). Кожен ключ — це повне (fully qualified) ім'я класу Event, а значення — масив Listeners. Починаючи з Laravel 11, також можна використовувати auto-discovery з атрибутами PHP 8 #[ListensTo], щоб уникнути ручної реєстрації.

4

Як dispatch'нути (запустити) Event у Laravel?

5

Яка базова структура Listener у Laravel?

+15 питань зі співбесід

Інші теми співбесід Laravel

Опануй Laravel для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно