РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrSpEvEv 178 of 210 menu

Создание события в Laravel

Класс события создают командой Artisan. Имя обычно отражает факт в прошедшем времени: OrderShipped, UserRegistered, PostPublished. По имени сразу видно, что произошло.

php artisan make:event OrderShipped

Файл появится в папке app/Events. Если папки ещё не было, Artisan создаст её сам. В классе часто уже есть трейт Dispatchable - он пригодится позже для короткой отправки. Сейчас главное другое: событие хранит данные.

В конструктор передают то, что нужно слушателям: модель заказа, id пользователя, строку с причиной. Публичные свойства удобны - слушатель прочитает их как $event->order:

<?php namespace App\Events; use App\Models\Order; use Illuminate\Foundation\Events\Dispatchable; class OrderShipped { use Dispatchable; public function __construct( public Order $order ) {} } ?>

В событии не шлют письма и не пишут в лог. Только данные о факте. Реакцию сделаем в слушателе в следующих уроках.

Создайте событие UserRegistered.

Передайте в конструктор модель пользователя или его id.

В какой папке лежит класс и что он должен хранить - логику или данные?

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить