Documentation

ContainerAwareEventDispatcher extends EventDispatcher
in package

Lazily loads listeners and subscribers from the dependency injection container.

Tags
author

Fabien Potencier fabien@symfony.com

author

Bernhard Schussek bschussek@gmail.com

author

Jordan Alliot jordan.alliot@gmail.com

deprecated

since 3.3, to be removed in 4.0. Use EventDispatcher with closure factories instead.

Table of Contents

$container  : mixed
$listenerIds  : mixed
The service IDs of the event listeners and subscribers.
$listeners  : mixed
The services registered as listeners.
$sorted  : mixed
__construct()  : mixed
addListener()  : mixed
Adds an event listener that listens on the specified events.
addListenerService()  : mixed
Adds a service as event listener.
addSubscriber()  : mixed
Adds an event subscriber.
addSubscriberService()  : mixed
Adds a service as event subscriber.
dispatch()  : Event
Dispatches an event to all registered listeners.
getContainer()  : mixed
getListenerPriority()  : int|null
Gets the listener priority for a specific event.
getListeners()  : array<string|int, mixed>
Gets the listeners of a specific event or all listeners sorted by descending priority.
hasListeners()  : bool
Checks whether an event has any registered listeners.
removeListener()  : mixed
Removes an event listener from the specified events.
removeSubscriber()  : mixed
doDispatch()  : mixed
Triggers the listeners of an event.
lazyLoad()  : mixed
Lazily loads listeners for this event from the dependency injection container.
sortListeners()  : mixed
Sorts the internal list of listeners for the given event by priority.

Properties

Methods

__construct()

public __construct(ContainerInterface $container) : mixed
Parameters
$container : ContainerInterface
Return values
mixed —

addListener()

Adds an event listener that listens on the specified events.

public addListener(mixed $eventName, mixed $listener, mixed $priority) : mixed
Parameters
$eventName : mixed

The event to listen on

$listener : mixed

The listener

$priority : mixed

The higher this value, the earlier an event listener will be triggered in the chain (defaults to 0)

Return values
mixed —

addListenerService()

Adds a service as event listener.

public addListenerService(string $eventName, array<string|int, mixed> $callback, int $priority) : mixed
Parameters
$eventName : string

Event for which the listener is added

$callback : array<string|int, mixed>

The service ID of the listener service & the method name that has to be called

$priority : int

The higher this value, the earlier an event listener will be triggered in the chain. Defaults to 0.

Tags
throws
InvalidArgumentException
Return values
mixed —

addSubscriberService()

Adds a service as event subscriber.

public addSubscriberService(string $serviceId, string $class) : mixed
Parameters
$serviceId : string

The service ID of the subscriber service

$class : string

The service's class name (which must implement EventSubscriberInterface)

Return values
mixed —

dispatch()

Dispatches an event to all registered listeners.

public dispatch(mixed $eventName[, Event $event = null ]) : Event
Parameters
$eventName : mixed

The name of the event to dispatch. The name of the event is the name of the method that is invoked on listeners.

$event : Event = null

The event to pass to the event handlers/listeners If not supplied, an empty Event instance is created

Return values
Event —

getListenerPriority()

Gets the listener priority for a specific event.

public getListenerPriority(mixed $eventName, mixed $listener) : int|null
Parameters
$eventName : mixed

The name of the event

$listener : mixed

The listener

Return values
int|null —

The event listener priority

getListeners()

Gets the listeners of a specific event or all listeners sorted by descending priority.

public getListeners([mixed $eventName = null ]) : array<string|int, mixed>
Parameters
$eventName : mixed = null

The name of the event

Return values
array<string|int, mixed> —

The event listeners for the specified event, or all event listeners by event name

hasListeners()

Checks whether an event has any registered listeners.

public hasListeners([mixed $eventName = null ]) : bool
Parameters
$eventName : mixed = null

The name of the event

Return values
bool —

true if the specified event has any listeners, false otherwise

removeListener()

Removes an event listener from the specified events.

public removeListener(mixed $eventName, mixed $listener) : mixed
Parameters
$eventName : mixed

The event to remove a listener from

$listener : mixed

The listener to remove

Return values
mixed —

doDispatch()

Triggers the listeners of an event.

protected doDispatch(array<string|int, callable> $listeners, string $eventName, Event $event) : mixed

This method can be overridden to add functionality that is executed for each listener.

Parameters
$listeners : array<string|int, callable>

The event listeners

$eventName : string

The name of the event to dispatch

$event : Event

The event object to pass to the event handlers/listeners

Return values
mixed —

lazyLoad()

Lazily loads listeners for this event from the dependency injection container.

protected lazyLoad(string $eventName) : mixed
Parameters
$eventName : string

The name of the event to dispatch. The name of the event is the name of the method that is invoked on listeners.

Return values
mixed —

sortListeners()

Sorts the internal list of listeners for the given event by priority.

private sortListeners(string $eventName) : mixed
Parameters
$eventName : string

The name of the event

Return values
mixed —

Search results