Class CakeEventManager
The event manager is responsible for keeping track of event listeners and pass the correct data to them, and fire them in the correct order, when associated events are triggered. You can create multiple instances of this objects to manage local events or keep a single instance and pass it around to manage all events in your app.
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/Event/CakeEventManager.php
Properties summary
- 
			$_generalManagerprotected staticThe globally available instance, used for dispatching events attached from any scope
- 
			$_isGlobalprotectedbooleanInternal flag to distinguish a common manager from the sigleton
- 
			$_listenersprotectedobjectList of listener callbacks associated to
- 
			$defaultPrioritypublic staticintegerThe default priority queue value for new attached listeners
Method Summary
- 
			_attachSubscriber() protectedAuxiliary function to attach all implemented callbacks of a CakeEventListener class instance as individual methods on this manager 
- 
			_detachSubscriber() protectedAuxiliary function to help detach all listeners provided by an object implementing CakeEventListener
- 
			_extractCallable() protectedAuxiliary function to extract and return a PHP callback type out of the callable definition from the return value of the implementedEventsmethod on a CakeEventListener
- 
			attach() publicAdds a new listener to an event. Listeners
- 
			detach() publicRemoves a listener from the active listeners.
- 
			dispatch() publicDispatches a new event to all configured listeners
- 
			instance() public staticReturns the globally available instance of a CakeEventManager this is used for dispatching events attached from outside the scope other managers were created. Usually for creating hook systems or inter-class communication 
- 
			listeners() publicReturns a list of all listeners for a eventKey in the order they should be called
Method Detail
_attachSubscriber() protected ¶
_attachSubscriber( CakeEventListener $subscriber )
		
Auxiliary function to attach all implemented callbacks of a CakeEventListener class instance as individual methods on this manager
Parameters
- 
						CakeEventListener$subscriber
_detachSubscriber() protected ¶
_detachSubscriber( CakeEventListener $subscriber , string $eventKey = null )
		
Auxiliary function to help detach all listeners provided by an object implementing CakeEventListener
Parameters
- 
						CakeEventListener$subscriber
- the subscriber to be detached
- string $eventKey optional null
- optional event key name to unsubscribe the listener from
_extractCallable() protected ¶
_extractCallable( array $function , CakeEventListener $object )
		
Auxiliary function to extract and return a PHP callback type out of the callable definition
from the return value of the implementedEvents method on a CakeEventListener
Parameters
- array $function
- the array taken from a handler definition for a event
- 
						CakeEventListener$object
- The handler object
Returns
attach() public ¶
attach( callable|CakeEventListener $callable , mixed $eventKey = null , array $options = array() )
		
Adds a new listener to an event. Listeners
Parameters
- 
						callable|CakeEventListener$callable
- PHP valid callback type or instance of CakeEventListener to be called when the event named with $eventKey is triggered. If a CakeEventListener instances is passed, then the - implementedEventsmethod will be called on the object to register the declared events individually as methods to be managed by this class. It is possible to define multiple event handlers per event name.
- mixed $eventKey optional null
- The event unique identifier name to with the callback will be associated. If $callable is an instance of CakeEventListener this argument will be ignored 
- array $options optional array()
- used to set the - priorityand- passParamsflags to the listener. Priorities are handled like queues, and multiple attachments into the same priority queue will be treated in the order of insertion.- passParamsmeans that the event data property will be converted to function arguments when the listener is called. If $called is an instance of CakeEventListener, this parameter will be ignored
Throws
When event key is missing or callable is not an instance of CakeEventListener.
detach() public ¶
detach( callable|CakeEventListener $callable , $eventKey = null )
		
Removes a listener from the active listeners.
Parameters
- 
						callable|CakeEventListener$callable
- any valid PHP callback type or an instance of CakeEventListener
- $eventKey optional null
dispatch() public ¶
dispatch( mixed $event )
Dispatches a new event to all configured listeners
Parameters
- mixed $event
- the event key name or instance of CakeEvent
instance() public static ¶
instance( CakeEventManager $manager = null )
		
Returns the globally available instance of a CakeEventManager this is used for dispatching events attached from outside the scope other managers were created. Usually for creating hook systems or inter-class communication
If called with a first params, it will be set as the globally available instance
Parameters
- 
						CakeEventManager$manager optional null
Returns
listeners() public ¶
listeners( string $eventKey )
Returns a list of all listeners for a eventKey in the order they should be called
Parameters
- string $eventKey
Returns
Properties detail
$_generalManager ¶
The globally available instance, used for dispatching events attached from any scope
null
			$_isGlobal ¶
Internal flag to distinguish a common manager from the sigleton
false
			$defaultPriority ¶
The default priority queue value for new attached listeners
10
			