Bạn có thể nhận event dispatcher từ container và có một cái nhìn tại các sự kiện với getListeners
chức năng. Ví dụ trong điều khiển
$evd = $this->get('event_dispatcher');
$listeners = $evd->getListeners();
Mô tả
/**
* 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);
Hãy cẩn thận, học thuyết có điều phối sự kiện riêng.
/** @var $em EntityManager */
$em = $this->getDoctrine()->getManager();
$evd = $em->getEventManager();
$listeners = $evd->getListeners();
Nguồn
2013-08-25 14:50:01
tôi thấy nó khá khó khăn để có được những thông tin tôi muốn từ mảng đó ' getListeners' được trả lại (sf 2.3). Tôi đã kết thúc bằng văn bản sau để phân tích cú pháp: '$ $ dispatcher = $ this-> get ('event_dispatcher'); foreach ($ dispatcher-> getListeners() là $ listeners) {foreach ($ listeners là $ listener); {foreach (người nghe dưới dạng chi tiết) {if (gettype ($ details) == 'string') {echo "($ details)"; echo '
'; } else {echo get_class (chi tiết $); }}}} '' – Sam