symfony2 prepersist onkernelresponse filtro filtercontrollerevent eventos event php events symfony

php - prepersist - ¿Escuchando múltiples eventos con un oyente?



symfony onkernelresponse (2)

Estoy creando una aplicación en Symfony2 que tiene un aspecto social (muchas de las acciones que realiza un usuario en el sitio se mostrarán en una lista de estilo "noticias" para que otros puedan verla). He determinado que el sistema de escucha / envío de eventos sf2 es la mejor manera de manejar esto, pero me he encontrado con un problema al tratar de configurar mi escucha para manejar muchos eventos diferentes.

La documentación (ahora desactualizada) que he encontrado en mis búsquedas parece indicar que, en un momento dado, los oyentes de eventos podrían registrarse en múltiples eventos, pero el código ha sido refactorizado, y ahora la configuración es algo como esto:

config.yml:

services: social.listener: class: F/Q/C/N/SocialEventListener tags: - { name: kernel.listener, event: onSocialShare }

¿Hay alguna manera de:

  1. event: [onSocialShare, onSocialFriend, onSocialCreate] fácilmente varios eventos (algo como event: [onSocialShare, onSocialFriend, onSocialCreate] funciona, pero parece que rápidamente se volverá feo y no se podrá mantener, obstruyendo mi archivo de configuración con potencialmente docenas de eventos sociales
  2. Definir el evento al que quiero suscribirme desde el código (como se hizo anteriormente)
  3. O posiblemente otra opción mejor que no haya pensado todavía.

Gracias por adelantado.



La respuesta del grupo google de usuarios de Symfony (tema here ) es que la forma adecuada de hacerlo es agregando varias etiquetas:

services: social.listener: class: F/Q/C/N/SocialEventListener tags: - { name: kernel.listener, event: onSocialShare } - { name: kernel.listener, event: onSocialFriend } - { name: kernel.listener, event: ... etc }

Por lo tanto, parece que actualmente, no hay una buena manera de agregar suscripciones de eventos desde el código de escucha. Oh bien.