/** * {@inheritdoc} */ public function filter(EventInterface $event, $value) { foreach ($this->getListeners($event->getName()) as $listener) { if (is_array($listener) && is_string($listener[0])) { $listener[0] = $this->container->get($listener[0]); } $value = call_user_func($listener, $event, $value); } return $value; }
protected function addCall(EventInterface $event, $listener, $type) { $listener = $this->listenerToString($listener); if (null !== $this->logger) { $this->logger->debug(sprintf('Notified event "%s" to listener "%s" (%s)', $event->getName(), $listener, $type)); } $this->called[$event->getName() . '.' . $listener] = array('event' => $event->getName(), 'caller' => null !== $event->getSubject() ? get_class($event->getSubject()) : null, 'listener' => $listener); }