EventManager/EventManager.php
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_EventManager
\Zend_EventManager_EventManager
Use the EventManager when you want to create a per-instance notification system for your objects.
- Implements
- \Zend_EventManager_EventCollection
- \Zend_EventManager_SharedEventCollectionAware
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties


string $eventClass = 'Zend_EventManager_Event'
Class representing the event being emitted
'Zend_EventManager_Event'
Details- Type
- string


array $identifiers = array()
array()
Details- Type
- array
Methods


__construct(null | string | int | array | \Traversable $identifiers = null) : void
Constructor
Allows optionally specifying identifier(s) to use to pull signals from a StaticEventManager.
Name | Type | Description |
---|---|---|
$identifiers | null | string | int | array | \Traversable |


addIdentifiers(string | int | array | \Traversable $identifiers) : \Zend_EventManager_EventManager
Add some identifier(s) (appends to any currently set identifiers)
Name | Type | Description |
---|---|---|
$identifiers | string | int | array | \Traversable |
Type | Description |
---|---|
\Zend_EventManager_EventManager |


attach(string | array | \Zend_EventManager_ListenerAggregate $event, callback | int $callback = null, int $priority = 1) : \Zend_Stdlib_CallbackHandler | mixed
Attach a listener to an event
The first argument is the event, and the next argument describes a callback that will respond to that event. A CallbackHandler instance describing the event listener combination will be returned.
The last argument indicates a priority at which the event should be executed. By default, this value is 1; however, you may set it for any integer value. Higher values have higher priority (i.e., execute first).
You can specify "*" for the event name. In such cases, the listener will be triggered for every event.
Name | Type | Description |
---|---|---|
$event | string | array | \Zend_EventManager_ListenerAggregate | An event or array of event names. If a ListenerAggregate, proxies to {@link attachAggregate()}. |
$callback | callback | int | If string $event provided, expects PHP callback; for a ListenerAggregate $event, this will be the priority |
$priority | int | If provided, the priority at which to register the callback |
Type | Description |
---|---|
\Zend_Stdlib_CallbackHandler | mixed | CallbackHandler if attaching callback (to allow later unsubscribe); mixed if attaching aggregate |


attachAggregate(\Zend_EventManager_ListenerAggregate $aggregate, int $priority = 1) : mixed
Attach a listener aggregate
Listener aggregates accept an EventCollection instance, and call attach() one or more times, typically to attach to multiple events using local methods.
Name | Type | Description |
---|---|---|
$aggregate | \Zend_EventManager_ListenerAggregate | |
$priority | int | If provided, a suggested priority for the aggregate to use |
Type | Description |
---|---|
mixed | return value of {@link Zend_EventManager_ListenerAggregate::attach()} |


clearListeners(string $event) : void
Clear all listeners for a given event
Name | Type | Description |
---|---|---|
$event | string |


detach(\Zend_Stdlib_CallbackHandler | \Zend_EventManager_ListenerAggregate $listener) : bool
Unsubscribe a listener from an event
Name | Type | Description |
---|---|---|
$listener | \Zend_Stdlib_CallbackHandler | \Zend_EventManager_ListenerAggregate |
Type | Description |
---|---|
bool | Returns true if event and listener found, and unsubscribed; returns false if either event or listener not found |
Exception | Description |
---|---|
\Zend_EventManager_Exception_InvalidArgumentException | if invalid listener provided |


detachAggregate(\Zend_EventManager_ListenerAggregate $aggregate) : mixed
Detach a listener aggregate
Listener aggregates accept an EventCollection instance, and call detach() of all previously attached listeners.
Name | Type | Description |
---|---|---|
$aggregate | \Zend_EventManager_ListenerAggregate |
Type | Description |
---|---|
mixed | return value of {@link Zend_EventManager_ListenerAggregate::detach()} |


getIdentifiers() : array
Get the identifier(s) for this Zend_EventManager_EventManager
Type | Description |
---|---|
array |


getListeners(string $event) : \Zend_Stdlib_PriorityQueue
Retrieve all listeners for a given event
Name | Type | Description |
---|---|---|
$event | string |
Type | Description |
---|---|
\Zend_Stdlib_PriorityQueue |


getSharedCollections() : false | \Zend_EventManager_SharedEventCollection
Get static collections container
Type | Description |
---|---|
false | \Zend_EventManager_SharedEventCollection |


getSharedListeners(string $event) : array
Get list of all listeners attached to the shared collection for identifiers registered by this instance
Name | Type | Description |
---|---|---|
$event | string |
Type | Description |
---|---|
array |


insertListeners(\Zend_Stdlib_PriorityQueue $masterListeners, \Zend_Stdlib_PriorityQueue $listeners) : void
Add listeners to the master queue of listeners
Used to inject shared listeners and wildcard listeners.
Name | Type | Description |
---|---|---|
$masterListeners | \Zend_Stdlib_PriorityQueue | |
$listeners | \Zend_Stdlib_PriorityQueue |


prepareArgs(array $args) : \ArrayObject
Prepare arguments
Use this method if you want to be able to modify arguments from within a listener. It returns an ArrayObject of the arguments, which may then be passed to trigger() or triggerUntil().
Name | Type | Description |
---|---|---|
$args | array |
Type | Description |
---|---|
\ArrayObject |


setEventClass(string $class) : \Zend_EventManager_EventManager
Set the event class to utilize
Name | Type | Description |
---|---|---|
$class | string |
Type | Description |
---|---|
\Zend_EventManager_EventManager |


setIdentifiers(string | int | array | \Traversable $identifiers) : \Zend_EventManager_EventManager
Set the identifiers (overrides any currently set identifiers)
Name | Type | Description |
---|---|---|
$identifiers | string | int | array | \Traversable |
Type | Description |
---|---|
\Zend_EventManager_EventManager |


setSharedCollections(\Zend_EventManager_StaticEventCollection $collections) : void
Set static collections container
Name | Type | Description |
---|---|---|
$collections | \Zend_EventManager_StaticEventCollection |


trigger(string $event, string | object $target = null, array | \ArrayAccess $argv = array(), null | callback $callback = null) : \Zend_EventManager_ResponseCollection
Trigger all listeners for a given event
Can emulate triggerUntil() if the last argument provided is a callback.
Name | Type | Description |
---|---|---|
$event | string | |
$target | string | object | Object calling emit, or symbol describing target (such as static method name) |
$argv | array | \ArrayAccess | Array of arguments; typically, should be associative |
$callback | null | callback |
Type | Description |
---|---|
\Zend_EventManager_ResponseCollection | All listener return values |


triggerListeners(string $event, \EventDescription $e, null | callback $callback = null) : \ResponseCollection
Trigger listeners
Actual functionality for triggering listeners, to which both trigger() and triggerUntil() delegate.
Name | Type | Description |
---|---|---|
$event | string | Event name |
$e | \EventDescription | |
$callback | null | callback |
Type | Description |
---|---|
\ResponseCollection |


triggerUntil(string $event, string | object $target, array | \ArrayAccess $argv = null, Callable $callback = null) : \Zend_EventManager_ResponseCollection
Trigger listeners until return value of one causes a callback to evaluate to true
Triggers listeners until the provided callback evaluates the return value of one as true, or until all listeners have been executed.
Name | Type | Description |
---|---|---|
$event | string | |
$target | string | object | Object calling emit, or symbol describing target (such as static method name) |
$argv | array | \ArrayAccess | Array of arguments; typically, should be associative |
$callback | Callable |
Type | Description |
---|---|
\Zend_EventManager_ResponseCollection |
Exception | Description |
---|---|
\Zend_Stdlib_Exception_InvalidCallbackException | if invalid callback provided |


unsetSharedCollections() : void
Remove any shared collections
Sets $sharedCollections to boolean false to disable ability to lazy-load static event manager instance.