我在Symfony2中构建了一个具有社交驱动方面的应用(用户在网站上执行的许多操作将显示在“新闻馈送”风格的列表中供其他人查看)。我已经确定sf2事件调度程序/监听程序系统是处理这个问题的最佳方法,但是我试图配置我的监听程序来处理许多不同的事件时遇到了一些障碍。用一个听众收听多个事件?
我在我的搜索中找到的(现在过时的)文档似乎表明,在某一时刻,事件监听器可以注册多个事件,但代码已被重构,现在配置看起来像这样:
config.yml:
services:
social.listener:
class: F\Q\C\N\SocialEventListener
tags:
- { name: kernel.listener, event: onSocialShare }
有什么办法要么:
- 很容易地通过多重事件(像
event: [onSocialShare, onSocialFriend, onSocialCreate]
级的作品,但感觉就像它会很快得到丑陋,难以维护,堵塞了我的配置文件具有潜在的几十个社会事件的 - 定义,而我想从代码订阅事件(如以前做过)
- 或者可能是另一个,我还没有想到的更好的选项
在此先感谢。
使用事件,但是这是件好事在同每个这些事件之间的共享状态类,所以如果条件不合适,可以至少从给定事件中退出,这是基于其他事件中的逻辑。 – 2013-05-23 19:17:08