События и наблюдатели

Использование событий объекта для снижения связанности кода. Способы генерации событий и пути подписки на них сторонних слушателей. Запуск событий непосредственно в объекте и в общем диспетчере. Накопление событий в объекте для работы с транзакциями базы данных.

Скрытый контент
Комментарии (13)
Александр

Впринципе норм объяснения, но заметил, что много функций php используемых в этом уроке, я попросту вижу впервые или не помню. Что особенно непонятно - свойство $this->listeners; Откуда оно взялось ? В документации пыха не нашел такое.

Ответить
voodooism

listeners в данном случае это свойство класса UserImporter которое мы сами создали. Читать тут

Ответить
Райымбек

Когда выйдет следующее видео из серии?

Ответить
Андрей

На gitHub можно конечный результат из урока посмотреть?)

Ответить
Дмитрий Елисеев

К этим эпизодам кода нет.

Ответить
Paul

Очень интересно! Спасибо, Дмитрий!

Ответить
Артём

Дмитрий, спасибо большое за ваш труд. У вас прекрасные курсы. Не останавливайтесь)

Ответить
Дмитрий

Еще бы Дмитрий закончил начатое дело

Ответить
Виктор

елки не туда вопрос написал) надо как-то поменять. Как быть если есть два инстанса условно UserImporter и разные обработчиеи должны быть?

Ответить
Дмитрий Елисеев

Каждому инстансу передаём нужные ему обработчики. Либо если обработчики общие, то работу с событиями можно вынести в отдельный класс EventDispatcher с обработчиками и всем инстансам передаём диспетчер.

Ответить
Виктор

Получается придется в нужный объект добавляем метод для подписки. Верно?

Ответить
Дмитрий Елисеев

Да, каждому.

Ответить
Дмитрий, а есть смысл дробить саму сущность пользователя относительно контекста определенных действий или это совсем избыточно? Вы как-то ввели flusher для того чтобы ограничить возможные действия с em.

А следующее видео будет?

Апдейт: странный тайтл отправился, не обращайте внимания на него

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий