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

Введение в события Laravel

В контроллере часто делают сразу несколько дел: сохраняют заказ, шлют письмо, пишут в лог, обновляют статистику. Действие разрастается, его трудно читать и тестировать. Любая новая «побочка» снова лезет в тот же метод.

Событие - это сообщение приложению: «произошёл факт». Например, заказ оформлен, пользователь зарегистрирован, пост опубликован. Само событие не шлёт письма и не трогает базу сверх необходимого - оно только несёт данные об этом факте.

Слушатель - класс, который реагирует на событие. Один слушатель шлёт письмо, другой пишет лог, третий пересчитывает счётчики. К одному событию можно повесить несколько слушателей - и добавлять новые, не раздувая контроллер.

Так ответственность делится: контроллер (или сервис) фиксирует факт и отправляет событие, а побочные действия живут в слушателях. В следующих уроках создадим событие, слушатель, привяжем их и отправим факт из кода.

Зачем разделять событие и слушатель?

Приведите пример факта в приложении, на который удобно повесить несколько реакций.

Чем подход с событиями удобнее, чем писать письмо и лог прямо в контроллере?

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