class EventDispatcher implements EventDispatcherInterface

The EventDispatcherInterface is the central point of Symfony's event listener system.

Listeners are registered on the manager and events are dispatched through the manager.

Methods

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

Dispatches an event to all registered listeners.

array
getListeners(string|null $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|null $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.

Details

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

array getListeners(string|null $eventName = null)

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

Parameters

string|null $eventName The name of the event

Return Value

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

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

bool hasListeners(string|null $eventName = null)

Checks whether an event has any registered listeners.

Parameters

string|null $eventName The name of the event

Return Value

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

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)

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

addSubscriber(EventSubscriberInterface $subscriber)

Adds an event subscriber.

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

Parameters

EventSubscriberInterface $subscriber

removeSubscriber(EventSubscriberInterface $subscriber)

Parameters

EventSubscriberInterface $subscriber

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