Model behavior collection class.
Defines the Behavior interface, and contains common model interaction functionality.
$_mappedMethods
protected array
$_methods
protected array
$modelName
public string
Check to see if a behavior in this collection implements the provided method. Will also check mappedMethods.
Returns the implemented events that will get routed to the trigger function in order to dispatch them separately on each behavior
Loads a behavior into the collection. You can use use $config['enabled'] = false
to load a behavior with callbacks disabled. By default callbacks are enabled. Disable behaviors can still be used as normal.
Gets the method list for attached behaviors, i.e. all public, non-callback methods. This does not include mappedMethods.
attach( string $behavior , array $config array() )
Backwards compatible alias for load()
$behavior
$config
optional array() detach( string $name )
Backwards compatible alias for unload()
$name
dispatchMethod( Model $model , string $method , array $params array() , boolean $strict false )
Dispatches a behavior method. Will call either normal methods or mapped methods.
If a method is not handled by the BehaviorCollection, and $strict is false, a special return of array('unhandled')
will be returned to signal the method was not found.
Model
$model
$method
$params
optional array() $strict
optional false hasMethod( string $method , boolean $callback false )
Check to see if a behavior in this collection implements the provided method. Will also check mappedMethods.
$method
$callback
optional false If $callback is false, a boolean will be returned, if its true, an array containing callback information will be returned. For mapped methods the array will have 3 elements.
implementedEvents( )
Returns the implemented events that will get routed to the trigger function in order to dispatch them separately on each behavior
CakeEventListener::implementedEvents()
init( string $modelName , array $behaviors array() )
Attaches a model object and loads a list of behaviors
$modelName
$behaviors
optional array() load( string $behavior , array $config array() )
Loads a behavior into the collection. You can use use $config['enabled'] = false
to load a behavior with callbacks disabled. By default callbacks are enabled. Disable behaviors can still be used as normal.
You can alias your behavior as an existing behavior by setting the 'className' key, i.e.,
public $actsAs = array( 'Tree' => array( 'className' => 'AliasedTree' ); );
All calls to the Tree
behavior would use AliasedTree
instead.
$behavior
$config
optional array() MissingBehaviorException
methods( )
Gets the method list for attached behaviors, i.e. all public, non-callback methods. This does not include mappedMethods.
unload( string $name )
Detaches a behavior from a model
$name
ObjectCollection::unload()
__get( string $name )
Provide public read access to the loaded objects
$name
__isset( string $name )
Provide isset access to _loaded
$name
attached( string $name null )
Gets the list of attached objects, or, whether the given object is attached
$name
optional null Optional. The name of the object to check the status of. If omitted, returns an array of currently-attached objects
If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all attached objects.
disable( string|array $name )
Disables callbacks on an object or array of objects. Public object methods are still callable as normal.
$name
enable( string|array $name , boolean $prioritize true )
Enables callbacks on an object or array of objects
$name
$prioritize
optional true enabled( string $name null )
Gets the list of currently-enabled objects, or, the current status of a single objects
$name
optional null Optional. The name of the object to check the status of. If omitted, returns an array of currently-enabled object
If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all enabled objects.
loaded( string $name null )
Gets the list of loaded objects, or, whether the given object is loaded
$name
optional null Optional. The name of the object to check the status of. If omitted, returns an array of currently-loaded objects
If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all loaded objects.
normalizeObjectArray( array $objects )
Normalizes an object array, creates an array that makes lazy loading easier
$objects
prioritize( )
Prioritize list of enabled object
set( string $name null , CakeObject $object null )
Adds or overwrites an instantiated object to the collection
$name
optional null CakeObject
$object
optional null setPriority( string|array $name , integer|null $priority null )
Set priority for an object or array of objects
$name
CamelCased name of the object(s) to enable (string or array) If string the second param $priority is used else it should be an associative array with keys as object names and values as priorities to set.
$priority
optional null trigger( string|CakeEvent $callback , array $params array() , array $options array() )
Trigger a callback method on every object in the collection. Used to trigger methods on objects in the collection. Will fire the methods in the order they were attached.
breakOn
Set to the value or values you want the callback propagation to stop on. Can either be a scalar value, or an array of values to break on. Defaults to false
.
break
Set to true to enabled breaking. When a trigger is broken, the last returned value will be returned. If used in combination with collectReturn
the collected results will be returned. Defaults to false
.
collectReturn
Set to true to collect the return of each object into an array. This array of return values will be returned from the trigger() call. Defaults to false
.
modParams
Allows each object the callback gets called on to modify the parameters to the next object. Setting modParams to an integer value will allow you to modify the parameter with that index. Any non-null value will modify the parameter index indicated. Defaults to false.
CakeEvent
$callback
Method to fire on all the objects. Its assumed all the objects implement the method you are calling. If an instance of CakeEvent is provided, then then Event name will parsed to get the callback name. This is done by getting the last word after any dot in the event name (eg. Model.afterSave
event will trigger the afterSave
callback)
$params
optional array() $options
optional array() CakeException
protected array
Keeps a list of all methods which have been mapped with regular expressions
array()
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-BehaviorCollection.html