/** * (non-PHPdoc) * * @see \Zend\EventManager\EventManagerAwareInterface::setEventManager() */ public function setEventManager(EventManagerInterface $events) { $identifiers = $events->getIdentifiers(); $identifiers += [$this->eventIdentifier, __CLASS__]; $identifiers = array_unique($identifiers); $events->setIdentifiers($identifiers); $this->events = $events; }
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; }