Documentation

EventDispatcher
in package
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.

Tags
author

Guilherme Blanco guilhermeblanco@hotmail.com

author

Jonathan Wage jonwage@gmail.com

author

Roman Borschel roman@code-factory.org

author

Bernhard Schussek bschussek@gmail.com

author

Fabien Potencier fabien@symfony.com

author

Jordi Boggiano j.boggiano@seld.be

author

Jordan Alliot jordan.alliot@gmail.com

author

Nicolas Grekas p@tchwork.com

Table of Contents

Interfaces

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

Properties

$listeners  : array<string|int, mixed>
$optimized  : array<string|int, mixed>
$sorted  : array<string|int, mixed>

Methods

__construct()  : mixed
addListener()  : void
Adds an event listener that listens on the specified events.
addSubscriber()  : void
Adds an event subscriber.
dispatch()  : T
Dispatches an event to all registered listeners.
getListenerPriority()  : int|null
Gets the listener priority for a specific event.
getListeners()  : array<string|int, array<string|int, callable>|callable>
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()  : void
Removes an event listener from the specified events.
removeSubscriber()  : void
callListeners()  : void
Triggers the listeners of an event.
optimizeListeners()  : array<string|int, mixed>
Optimizes the internal list of listeners for the given event by priority.
sortListeners()  : void
Sorts the internal list of listeners for the given event by priority.

Properties

Methods

addListener()

Adds an event listener that listens on the specified events.

public addListener(string $eventName, callable|array<string|int, mixed> $listener[, int $priority = 0 ]) : void
Parameters
$eventName : string
$listener : callable|array<string|int, mixed>
$priority : int = 0

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

dispatch()

Dispatches an event to all registered listeners.

public dispatch(object $event[, string|null $eventName = null ]) : T
Parameters
$event : object

The event to pass to the event handlers/listeners

$eventName : string|null = null

The name of the event to dispatch. If not supplied, the class of $event should be used instead.

Return values
T

The passed $event MUST be returned

getListenerPriority()

Gets the listener priority for a specific event.

public getListenerPriority(string $eventName, callable|array<string|int, mixed> $listener) : int|null

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

Parameters
$eventName : string
$listener : callable|array<string|int, mixed>
Return values
int|null

getListeners()

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

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

hasListeners()

Checks whether an event has any registered listeners.

public hasListeners([string|null $eventName = null ]) : bool
Parameters
$eventName : string|null = null
Return values
bool

removeListener()

Removes an event listener from the specified events.

public removeListener(string $eventName, callable|array<string|int, mixed> $listener) : void
Parameters
$eventName : string
$listener : callable|array<string|int, mixed>

callListeners()

Triggers the listeners of an event.

protected callListeners(array<string|int, callable> $listeners, string $eventName, object $event) : void

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 : object

The event object to pass to the event handlers/listeners

optimizeListeners()

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

private optimizeListeners(string $eventName) : array<string|int, mixed>
Parameters
$eventName : string
Return values
array<string|int, mixed>

sortListeners()

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

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

        
On this page

Search results