Sie können event dispatcher aus dem Behälter erhalten und einen Blick auf Ereignisse mit getListeners
Funktion übernehmen. Beispiel in der Steuerung
$evd = $this->get('event_dispatcher');
$listeners = $evd->getListeners();
Beschreibung
/**
* Gets the listeners of a specific event or all listeners.
*
* @param string $eventName The name of the event
*
* @return array The event listeners for the specified event, or all event listeners by event name
*/
public function getListeners($eventName = null);
Seien Sie vorsichtig, Lehre hat eigenen Event-Dispatcher.
/** @var $em EntityManager */
$em = $this->getDoctrine()->getManager();
$evd = $em->getEventManager();
$listeners = $evd->getListeners();
Ich fand es ziemlich schwer, die Informationen zu bekommen, die ich von dem Array wollte die ' getListeners' zurückgegeben (SF 2.3). Ich habe am Ende geschrieben, um es zu analysieren: $ $ dispatcher = $ this-> get ('event_dispatcher'); foreach ($ dispatcher-> getListeners() als $ listeners) {foreach ($ listeners als $ listener); {foreach (Listener als $ Details) {if (gettype ($ details) == 'string') {echo "($ details)"; Echo '
'; } else {echo get_class ($ details); }}}} '' – Sam