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

Table of Contents

Properties

$container  : ContainerInterface
The container from where services are loaded.
$listenerIds  : array<string|int, mixed>
The service IDs of the event listeners and subscribers.
$listeners  : array<string|int, mixed>
The services registered as listeners.
$sorted  : mixed

Methods

__construct()  : mixed
Constructor.
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
Removes an event subscriber.
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

$listenerIds

The service IDs of the event listeners and subscribers.

private array<string|int, mixed> $listenerIds = array()

Methods

__construct()

Constructor.

public __construct(ContainerInterface $container) : mixed
Parameters
$container : ContainerInterface

A ContainerInterface instance

addListener()

Adds an event listener that listens on the specified events.

public addListener(mixed $eventName, mixed $listener[, mixed $priority = 0 ]) : mixed
Parameters
$eventName : mixed

The event to listen on

$listener : mixed

The listener

$priority : mixed = 0

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

addListenerService()

Adds a service as event listener.

public addListenerService(string $eventName, array<string|int, mixed> $callback[, int $priority = 0 ]) : 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 = 0

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

Tags
throws
InvalidArgumentException

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)

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

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.

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.

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.


        
On this page

Search results