attach()
clearListeners()
detach()
getEvents()
getListeners()
$identifiers
Shared/contextual EventManager
Allows attaching to EMs composed by other classes without having an instance first. The assumption is that the SharedEventManager will be injected into EventManager instances, and then queried for additional listeners when triggering an event.
category | Zend |
---|---|
package | Zend_EventManager |
attach(string | array $id, string $event, \Zend\EventManager\callable $callback, int $priority) : \Zend\Stdlib\CallbackHandler | array
Allows attaching a callback to an event offered by one or more identifying components. As an example, the following connects to the "getAll" event of both an AbstractResource and EntityResource:
$sharedEventManager = new SharedEventManager();
$sharedEventManager->attach(
array('My\Resource\AbstractResource', 'My\Resource\EntityResource'),
'getAll',
function ($e) use ($cache) {
if (!$id = $e->getParam('id', false)) {
return;
}
if (!$data = $cache->load(get_class($resource) . '::getOne::' . $id )) {
return;
}
return $data;
}
);
stringarray
Identifier(s) for event emitting component(s)
string
\Zend\EventManager\callable
PHP Callback
int
Priority at which listener should execute
\Zend\Stdlib\CallbackHandler
array
Either CallbackHandler or array of CallbackHandlersclearListeners(string | int $id, null | string $event) : bool
stringint
nullstring
bool
detach(string | int $id, \Zend\Stdlib\CallbackHandler $listener) : bool
stringint
\Zend\Stdlib\CallbackHandler
bool
Returns true if event and listener found, and unsubscribed; returns false if either event or listener not foundgetEvents(string | int $id) : array
stringint
array
getListeners(string | int $id, string | int $event) : false | \Zend\Stdlib\PriorityQueue
$identifiers : array