sfEventDispatcher
sfEventとsfEventDispatcherの使い方
Filterの例
テンプレート内に共通のパラメータを追加する。
sfViewParameterHolder内のsfEvent
$event = $this->dispatcher->filter(new sfEvent($this, 'template.filter_parameters'), $this->getAll()); $parameters = $event->getReturnValue();
ProjectConfigration内
$this->getEventDispatcher()->connect( 'template.filter_parameters', array('ProjectTemplateFilter', 'filter') );
呼び出し元のクラス内
public static function filter(sfEvent $event, $params) { $p = $event->getSubject(); /* @var $p sfViewParameterHolder */ $params['esc'] = $p->getEscapingMethod(); return $params; }
template内
$esc( "<b>test</b>");