介紹
- 一個聆聽者(對象)告訴發令中心對象(dispatcher)kernel.response事件
- 在某個時刻,symfony2 kernel告訴調度對象分派kernel.response事件,把Response對象作爲一個可以訪問的參數傳遞出去
- 調度對象通知所有的kernel.response聆聽者,允許他們對Resonse對象進行修改
安裝
- 使用官方git倉庫(https://github.com/symfony/EventDispatcher)
- 使用composer
使用方法
事件
命名規範
- 小寫字母,數字,點,下劃線
- 前綴名空間後面加點
- 以一個動詞作爲結尾,用來說明將要發生的事情(例如請求)
- kernel.response
- form.pre_set_data
事件名稱和事件對象
發令者(The Dispatcher)
use Symfony\Component\EventDispatcher\EventDispatcher;
$dispatcher = new EventDispatcher();
連接聆聽者
$listener = new AcmeListener();
$dispatcher->addListener('foo.action', array($listener, 'onFooAction'));
addListener有三個參數:
- 聆聽的事件的名稱
- 當事件觸發是一個可執行的php回調函數
- 被執行的順序可選的一個數字,越高則越重要