Разобрался с темой КАК юзать события и слушатели в Ларавель. Но не хватает понимания где их использовать целесообразно, а где оверхед. Ну например, я сохраняю новую статью в бд. Данные попали в контроллер. Можно в принципе весь код по сохранению статьи перенести в листенеры, а можно в листенерах только прописать логирование. С другой стороны логирование - это всего одна строчка кода - как по мне нелогично городить ивенты и слушатели ради одной строчки логирования. В общем хотелось бы услышать где вы используете слушатели - какие-то практические примеры, чтобы на практике их использовать более разумно.
Сегодня - одна, завтра может быть много. Весь код сохранения статьи переносить в ивенты не логично, а вот какое-нибудь обновление счётчика, уведомление про новую статью и т.п. - вполне себе.
Извещения по подписке. Ты в событии можешь известить подписанных пользователей через пуш бродкаст или письмом о новой статье или о коментарии к статье, которую они в закладки поместили.
Подписчики для системных событий обычно делают чтобы влезть внутрь фреймворка. А на своих событиях обычно делается любая инфраструктурная рутина: Логирование изменений или действий Уведомления на почту и т.п. Очистка кэша (например, по тегу) Синхронизация других хранилищ вроде ElasticSearch В более продвинутом случае на событиях и командах строится взаимодействие модулей в распределённых системах.