/** * @param ServesEventData $event */ private function publishEvent(ServesEventData $event) { $eventListeners = $this->config->getEventListeners(); foreach ($eventListeners as $listener) { if ($listener->acceptsEvent($event)) { $listener->notify($event); } } }
/** * @param ServesIceHawkConfig $config */ public function __construct(ServesIceHawkConfig $config) { $this->requestInfo = $config->getRequestInfo(); $this->uriResolver = $config->getUriResolver(); $this->uriRewriter = $config->getUriRewriter(); $this->eventListeners = $config->getEventListeners(); $this->domainNamespace = $config->getDomainNamespace(); }
/** * @param ServesIceHawkConfig $config * @param ControlsHandlingBehaviour $delegate */ public function __construct(ServesIceHawkConfig $config, ControlsHandlingBehaviour $delegate) { $this->uriRewriter = $config->getUriRewriter(); $this->uriResolver = $config->getUriResolver(); $this->domainNamespace = $config->getDomainNamespace(); $this->eventListeners = $config->getEventListeners(); $this->requestInfo = $config->getRequestInfo(); $this->delegate = $delegate; }
/** * @throws InvalidEventListenerCollection */ private function guardEventListenersAreValid() { $eventListeners = $this->config->getEventListeners(); if (!is_array($eventListeners) && !$eventListeners instanceof \Traversable) { throw new InvalidEventListenerCollection(); } else { foreach ($eventListeners as $eventListener) { if (!$eventListener instanceof ListensToEvents) { throw new InvalidEventListenerCollection(); } } } }