protected function renderEvent($name, EventManagerInterface $eventManager, $profile) { $listeners = new PriorityQueue(); foreach ($eventManager->getListeners($name) as $listener) { $info = $this->getListenerInfo($listener); $listeners->insert($info, $info['priority']); } $sharedEvents = $eventManager->getSharedManager(); foreach ($eventManager->getIdentifiers() as $identifier) { $sharedListeners = $sharedEvents->getListeners($identifier, $name); if ($sharedListeners) { foreach ($sharedListeners as $sharedListener) { $info = $this->getListenerInfo($sharedListener, $identifier); $listeners->insert($info, $info['priority']); } } } $html = ''; foreach ($listeners as $listener) { $html .= $this->renderListener($listener, $eventManager, $profile); } $html = <<<HDOC <li><span class="name">{$this->escape($name)}</span> <ol class="listeners">{$html}</ol></li> HDOC; return $html; }