Я создаю приложение в Symfony2, которое имеет социальный аспект (многие действия, выполняемые пользователем на сайте, будут отображаться в списке в стиле «ленты новостей» для просмотра другими пользователями). Я определил, что система диспетчера / прослушивателя событий sf2 - лучший способ справиться с этим, но я натолкнулся на некоторую загадку при попытке настроить моего слушателя на обработку множества различных событий.
(устаревшая) документация, которую я нашел в моих поисках, по-видимому, указывает на то, что в какой-то момент прослушиватели событий могли регистрироваться для нескольких событий, но код был реорганизован, и теперь конфигурация выглядит примерно так:
config.yml:
services:
social.listener:
class: F\Q\C\N\SocialEventListener
tags:
- { name: kernel.listener, event: onSocialShare }
Есть ли способ:
- Простая передача нескольких событий (что-то вроде
event: [onSocialShare, onSocialFriend, onSocialCreate]
работает, но такое чувство, что оно быстро станет уродливым и неуправляемым, засоряя мой конфигурационный файл потенциально десятками социальных событий
- Определите событие, на которое я хочу подписаться, из кода (как это было сделано ранее)
- Или, возможно, другой, лучший вариант, о котором я еще не думал
Заранее спасибо.