Метод handle слушателя в Laravel
Главная часть слушателя - метод
handle. Laravel вызывает его,
когда событие отправлено. Параметр -
экземпляр вашего события. Через него
читают данные, которые положили
в конструктор события.
Тип параметра должен совпадать
с классом события. Тогда внутри
метода доступны свойства вроде
$event->order:
<?php
namespace App\Listeners;
use App\Events\OrderShipped;
class SendShipmentNotification
{
public function handle(OrderShipped $event): void
{
$order = $event->order;
// реакция: письмо, лог, статистика...
}
}
?>
В теле handle пишут саму реакцию:
отправку письма, запись в лог,
обновление связанной модели.
Событие сюда уже не создают -
его создали и отправили снаружи.
Слушатель только реагирует.
Пока слушатель не привязан к событию
в провайдере (или через автообнаружение),
метод не вызовется. В следующем уроке
зарегистрируем связь. Сейчас достаточно
заполнить handle и убедиться,
что данные события читаются.
В слушателе к UserRegistered
опишите handle с type-hint
события.
Внутри метода возьмите данные
из $event и сделайте
dump или запись в лог.
Что передаётся в handle
и откуда слушатель берёт модель
или id?