我在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