/** * createService * * @param ServiceLocatorInterface $serviceLocator serviceLocator * * @return array|mixed|object */ public function createService(ServiceLocatorInterface $serviceLocator) { $listeners = new ListenerCollection($serviceLocator); $config = $serviceLocator->get('Config'); $eventListenerConfig = $config['RcmUser']['EventListener\\Config']; foreach ($eventListenerConfig as $alias => $serviceName) { $listeners->addListener($serviceName); } return $listeners; }
/** * buildListeners * * @return void */ protected function buildListeners() { if ($this->listenersPrepared) { return; } $listeners = $this->listeners->getListeners(); /** @var ListenerAggregateInterface $listener */ foreach ($listeners as $listener) { $listener->attach($this); } $this->listenersPrepared = true; }