class ContainerAwareEventDispatcher extends EventDispatcher

Lazily loads listeners and subscribers from the dependency injection container.

Methods

dispatch(string $eventName, Event $event = null)

Dispatches an event to all registered listeners.

array
getListeners(string $eventName = null)

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

int|null
getListenerPriority(string $eventName, callable $listener)

Gets the listener priority for a specific event.

bool
hasListeners(string $eventName = null)

Checks whether an event has any registered listeners.

addListener(string $eventName, callable $listener, int $priority = 0)

Adds an event listener that listens on the specified events.

removeListener(string $eventName, callable $listener)

Removes an event listener from the specified events.

addSubscriber(EventSubscriberInterface $subscriber)

Adds an event subscriber.

removeSubscriber(EventSubscriberInterface $subscriber)

No description

doDispatch(callable[] $listeners, string $eventName, Event $event)

Triggers the listeners of an event.

__construct(ContainerInterface $container)

No description

addListenerService(string $eventName, array $callback, int $priority = 0)

Adds a service as event listener.

addSubscriberService(string $serviceId, string $class)

Adds a service as event subscriber.

getContainer()

No description

lazyLoad(string $eventName)

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

Details

in EventDispatcher at line 36
Event dispatch(string $eventName, Event $event = null)

Dispatches an event to all registered listeners.

Parameters

string $eventName 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 The event to pass to the event handlers/listeners If not supplied, an empty Event instance is created

Return Value

Event

at line 107
array getListeners(string $eventName = null)

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

Parameters

string $eventName The name of the event

Return Value

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

at line 123
int|null getListenerPriority(string $eventName, callable $listener)

Gets the listener priority for a specific event.

Returns null if the event or the listener does not exist.

Parameters

string $eventName The name of the event
callable $listener The listener

Return Value

int|null The event listener priority

at line 91
bool hasListeners(string $eventName = null)

Checks whether an event has any registered listeners.

Parameters

string $eventName The name of the event

Return Value

bool true if the specified event has any listeners, false otherwise

in EventDispatcher at line 112
addListener(string $eventName, callable $listener, int $priority = 0)

Adds an event listener that listens on the specified events.

Parameters

string $eventName The event to listen on
callable $listener The listener
int $priority The higher this value, the earlier an event listener will be triggered in the chain (defaults to 0)

at line 64
removeListener(string $eventName, callable $listener)

Removes an event listener from the specified events.

Parameters

string $eventName The event to remove a listener from
callable $listener The listener to remove

in EventDispatcher at line 137
addSubscriber(EventSubscriberInterface $subscriber)

Adds an event subscriber.

The subscriber is asked for all the events he is interested in and added as a listener for these events.

Parameters

EventSubscriberInterface $subscriber

in EventDispatcher at line 155
removeSubscriber(EventSubscriberInterface $subscriber)

Parameters

EventSubscriberInterface $subscriber

in EventDispatcher at line 178
protected doDispatch(callable[] $listeners, string $eventName, Event $event)

Triggers the listeners of an event.

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

Parameters

callable[] $listeners The event listeners
string $eventName The name of the event to dispatch
Event $event The event object to pass to the event handlers/listeners

at line 38
__construct(ContainerInterface $container)

Parameters

ContainerInterface $container

at line 55
addListenerService(string $eventName, array $callback, int $priority = 0)

Adds a service as event listener.

Parameters

string $eventName Event for which the listener is added
array $callback The service ID of the listener service & the method name that has to be called
int $priority The higher this value, the earlier an event listener will be triggered in the chain. Defaults to 0.

Exceptions

InvalidArgumentException

at line 136
addSubscriberService(string $serviceId, string $class)

Adds a service as event subscriber.

Parameters

string $serviceId The service ID of the subscriber service
string $class The service's class name (which must implement EventSubscriberInterface)

at line 151
getContainer()

at line 164
protected lazyLoad(string $eventName)

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

Parameters

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