Допустим, у меня есть сущность Employee. И в контроллере, при создании нового сотрудника я отправляю событие
$this->eventDispatcher(new EmployeeCreatedEvent());
Теперь я хочу при создании сотрудника отправлять в общий канал в слак уведомление о том, что у нас в компании новый сотрудник. Встречайте его и тд.
Для этого я в компоненте со слаком подпишусь на это событие и буду слать сообщение.
У меня вопрос, как правильно должен подписчик выглядеть?
Вариант 1: подписчик называется EmployeeCreatedSubscriber и содержит в себе метод отправки сообщения. И это кажется мне логичный, ведь это именно подписчик, в значит он должен подписываться на конкретное событие. Наверное на одно.
Вариант 2: подписчик называется GreetingsMessageSubscriber. Внутри он подписан на EmployeeCreatedEvent и на другие события, если они есть. Он отправляет сообщения с приветствием и подписан на все события, при наступлении которых нужно слать сообщение в слак.
Короче, в первом случае подписчик обрабатывает ровно одно событие, во втором группу событий.
Какой вариант используете вы и как на ваш взгляд правильно?