Interface EventManagerInterface
Interface EventManagerInterface
Method Summary
-
dispatch() public
Dispatches a new event to all configured listeners
-
listeners() public
Returns a list of all listeners for an eventKey in the order they should be called
-
off() public
Remove a listener from the active listeners.
-
on() public
Adds a new listener to an event.
Method Detail
dispatch() ¶ public
dispatch(stringCake\Event\EventInterface $event): Cake\Event\EventInterface
Dispatches a new event to all configured listeners
Parameters
-
stringCake\Event\EventInterface
$event The event key name or instance of EventInterface.
Returns
Cake\Event\EventInterface
listeners() ¶ public
listeners(string $eventKey): array
Returns a list of all listeners for an eventKey in the order they should be called
Parameters
-
string
$eventKey Event key.
Returns
array
off() ¶ public
off(stringCake\Event\EventListenerInterface|callable $eventKey, Cake\Event\EventListenerInterface|callable|null $callable = null): $this
Remove a listener from the active listeners.
Remove a EventListenerInterface entirely:
$manager->off($listener);
Remove all listeners for a given event:
$manager->off('My.event');
Remove a specific listener:
$manager->off('My.event', $callback);
Remove a callback from all events:
$manager->off($callback);
Parameters
-
stringCake\Event\EventListenerInterface|callable
$eventKey The event unique identifier name with which the callback has been associated, or the $listener you want to remove.
-
Cake\Event\EventListenerInterface|callable|null
$callable optional The callback you want to detach.
Returns
$this
on() ¶ public
on(stringCake\Event\EventListenerInterface $eventKey, array|callable $options = [], callable|null $callable = null): $this
Adds a new listener to an event.
A variadic interface to add listeners that emulates jQuery.on().
Binding an EventListenerInterface:
$eventManager->on($listener);
Binding with no options:
$eventManager->on('Model.beforeSave', $callable);
Binding with options:
$eventManager->on('Model.beforeSave', ['priority' => 90], $callable);
Parameters
-
stringCake\Event\EventListenerInterface
$eventKey The event unique identifier name with which the callback will be associated. If $eventKey is an instance of Cake\Event\EventListenerInterface its events will be bound using the
implementedEvents
methods.-
array|callable
$options optional Either an array of options or the callable you wish to bind to $eventKey. If an array of options, the
priority
key can be used to define the order. Priorities are treated as queues. Lower values are called before higher ones, and multiple attachments added to the same priority queue will be treated in the order of insertion.-
callable|null
$callable optional The callable function you want invoked.
Returns
$this
Throws
InvalidArgumentException
When event key is missing or callable is not an instance of Cake\Event\EventListenerInterface.