W3cubDocs

/Symfony 4.1

EventDispatcher

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

Event 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)
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 $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

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 $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

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 he 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

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/EventDispatcher/EventDispatcher.html