Событийно-ориентированное программирование

Событи́йно-ориенти́рованное программи́рование (англ. event-driven programming; в дальнейшем СОП) — парадигма программирования, в которой выполнение программы определяется событиями

Где нам использовать события и зачем они нужны?

Сегодня я бы хотел вам рассказать о событиях в программировании и рассказать для чего они нужны и как их использовать.  С событиями я познакомился когда познакомился с фреймворком Симфони (Symfony) и я полюбил события как и сам фреймворк.

Самым ярким примером применения событий является отправка почты, например у вас есть контроллер который регистрирует пользователя, после того как пользователь зарегистрирован в базе данных вам необходимо отправить ему письмо со ссылкой для подтверждения его аккаунта в системе.

Как раз здесь вы и можете применить событие, создайте событие AppEvents::USER_CREATED (создан пользователь), создайте объект события UserEvent передайте в него пользователя и отдиспачте (Dispatch – отправка) событие.

Для того чтобы обработать событие на него нужно подписаться, создайте UserSubscriber – подписчик пользователя, он должен быть подписан на событие AppEvents::USER_CREATED, в соответствующем методе, куда попадет объект события вы должны будете создать сообщение, получателем указать пользователя и отправить, так же отправку сообщений вы можете навесить на другое событие, например на TERMINATE в симфони, а лучше на RESPONSE так как на RESPONSE вы можете оттестировать содержимое хранилища сообщений перед их отправкой.

Эта статья предназначена для знакомства с событиями и пониманием для чего это нужно, я планирую в будущем написать техническую статью в которой уже как раз будет описана сама реализация данного паттерна.

Подпишитесь на рассылку новых статей

Подпишитесь на рассылку свежих статей и присоединяйтесь к 7 остальным подписчикам.