11

我想获得一个列表,其中包含在我的应用程序上注册的每个听众以及他们的优先级。该列表应该包含我自己的侦听器以及 Symfony 核心或其他启用的捆绑包也已注册的侦听器。

那可能吗?

谢谢

4

2 回答 2

11

如果您不想编写代码将其显示在您的网站上,您可以使用 CLI:

php app/console debug:event-dispatcher
于 2016-02-19T05:17:08.463 回答
7

您可以从容器中获取事件调度程序并查看带有getListeners函数的事件。控制器中的示例

$evd = $this->get('event_dispatcher');
$listeners = $evd->getListeners();

描述

/**
 * 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);

小心,学说有自己的事件调度器。

/** @var $em EntityManager */
$em = $this->getDoctrine()->getManager();
$evd = $em->getEventManager();
$listeners = $evd->getListeners();
于 2013-08-25T14:50:01.853 回答