Deals with Collections of objects. Keeping registries of those objects, loading and constructing new objects and triggering callbacks. Each subclass needs to implement its own load() functionality.
All core subclasses of ObjectCollection by convention loaded objects are stored in $this->_loaded. Enabled objects are stored in $this->_enabled. In addition, they all support an enabled option that controls the enabled/disabled state of the object when loaded.
$_enabled protected array$_loaded protected array$defaultPriority public integerDisables callbacks on an object or array of objects. Public object methods are still callable as normal.
Normalizes an object array, creates an array that makes lazy loading easier
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.
__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.
load( string $name , array $options array() )
Loads a new object onto the collection. Can throw a variety of exceptions
Implementations of this class support a $options['enabled'] flag which enables/disables a loaded object.
$name $options optional array() 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 , Object $object null )
Adds or overwrites an instantiated object to the collection
$name optional null Object $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() CakeExceptionunload( string $name )
Name of the object to remove from the collection
$name
© 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.
http://api.cakephp.org/2.8/class-ObjectCollection.html