События помогают отделять бизнес-логику от побочных действий. Например, после регистрации пользователя можно вызвать событие UserRegistered, а в слушателях обработать: отправку письма, логирование, начисление бонусов.
Например:
php artisan make:event UserRegistered
php artisan make:listener SendWelcomeEmail --event=UserRegistered
Событие:
class UserRegistered {
public function __construct(public User $user) {}
}Слушатель:
class SendWelcomeEmail {
public function handle(UserRegistered $event) {
Mail::to($event->user->email)->send(new WelcomeMail());
}
}Запуск:
event(new UserRegistered($user));
Код становится чище, а новые реакции легко добавлять без правки контроллеров.
👉 @web_craft | #laravel
