2016-12-27 7 views

答えて

1

これは複数の方法で行うことができます。それらのうちの1つは、引数なしでEventDispatcher#getListenersを呼び出し、kernel.componentName.で始まりすべてを1つずつ購読するすべてのイベント名のリストを取得することです。

私はもっと簡単な方法はEventDispatcherを拡張することだと思います。

use Symfony\Component\EventDispatcher\EventDispatcher; 
use Symfony\Component\EventDispatcher\Event; 

class MyEventDispatcher extends EventDispatcher 
{ 
    protected function doDispatch($listeners, $eventName, Event $event) 
    { 
     // add logic here 
     if (strpos($eventName, 'kernel.componentName.') === 0) { 
      // do something, like call another listener or a callback 
     } 


     parent::doDispatch($listeners, $eventName, $event); 
    } 
} 
関連する問題