public function ContainerAwareEventDispatcher::removeListener in Zircon Profile 8
Same name in this branch
- 8 vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php \Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::removeListener()
- 8 core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php \Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher::removeListener()
Same name and namespace in other branches
- 8.0 vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php \Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::removeListener()
Removes an event listener from the specified events.
Parameters
string $eventName The event to remove a listener from:
callable $listener The listener to remove:
Overrides EventDispatcher::removeListener
File
- vendor/
symfony/ event-dispatcher/ ContainerAwareEventDispatcher.php, line 78
Class
- ContainerAwareEventDispatcher
- Lazily loads listeners and subscribers from the dependency injection container.
Namespace
Symfony\Component\EventDispatcherCode
public function removeListener($eventName, $listener) {
$this
->lazyLoad($eventName);
if (isset($this->listenerIds[$eventName])) {
foreach ($this->listenerIds[$eventName] as $i => $args) {
list($serviceId, $method, $priority) = $args;
$key = $serviceId . '.' . $method;
if (isset($this->listeners[$eventName][$key]) && $listener === array(
$this->listeners[$eventName][$key],
$method,
)) {
unset($this->listeners[$eventName][$key]);
if (empty($this->listeners[$eventName])) {
unset($this->listeners[$eventName]);
}
unset($this->listenerIds[$eventName][$i]);
if (empty($this->listenerIds[$eventName])) {
unset($this->listenerIds[$eventName]);
}
}
}
}
parent::removeListener($eventName, $listener);
}