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

Отправка события через dispatch в Laravel

Если у класса события подключён трейт Dispatchable, появляется статический метод dispatch. Он создаёт экземпляр и сразу отправляет его слушателям - без явного new и без хелпера event.

Аргументы dispatch те же, что у конструктора события. Передали заказ - он попадёт в свойство $order:

<?php use App\Events\OrderShipped; public function ship(Order $order) { // ... смена статуса, сохранение OrderShipped::dispatch($order); return 'Order shipped'; } ?>

По смыслу это то же самое, что event(new OrderShipped($order)). Разница в записи: короче и читается как «отправить событие такого класса». В проектах часто выбирают один стиль и держатся его.

Без трейта Dispatchable метод ::dispatch у события не появится - тогда остаётся хелпер event из прошлого урока. Проверьте, что трейт есть в классе события (Artisan обычно добавляет его сам при make:event).

Отправьте UserRegistered через ::dispatch.

Сравните запись с вызовом event(new ...) - что удобнее вам?

Какой трейт нужен классу события для метода dispatch?

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