Estoy construyendo una aplicación en Symfony2 que tiene un aspecto social (muchas acciones que realiza un usuario en el sitio aparecerán en una lista de estilo de "alimentación de noticias" para que otros las vean). He determinado que el sistema de escucha/receptor de eventos sf2 es la mejor manera de manejar esto, pero me he encontrado con un problema al tratar de configurar mi oyente para manejar muchos eventos diferentes.escuchando múltiples eventos con un solo oyente?
La documentación (ahora desactualizada) que he encontrado en mis búsquedas parece indicar que, en un momento, los detectores de eventos pudieron registrarse en varios eventos, pero el código se ha refactorizado y ahora la configuración se ve así:
config.yml:
services:
social.listener:
class: F\Q\C\N\SocialEventListener
tags:
- { name: kernel.listener, event: onSocialShare }
¿hay alguna manera de cualquiera:
- pasar fácilmente a múltiples eventos (algo así como
event: [onSocialShare, onSocialFriend, onSocialCreate]
funciona, pero que se siente como que va a obtener rápidamente feo y imposible de mantener, obstruyendo mi fichero de configuración con potencialmente decenas de eventos sociales - definir el evento al que quiero para suscribirse a partir del código (como se hizo anteriormente)
- O posiblemente otra, mejor opción que no he pensado aún
Gracias de antemano.
Pero esto es bueno para compartir el estado entre cada uno de esos eventos en el mismo clase para que al menos pueda salir temprano de un evento dado si las condiciones no son apropiadas en función de la lógica en otros eventos. –