Class ComponentCollection
Components collection is used as a registry for loaded components and handles loading and constructing component class objects.
- ObjectCollection
- ComponentCollection implements CakeEventListener
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Located at Cake/Controller/ComponentCollection.php
Method Detail
getControllersource public
getController( )
Get the controller associated with the collection.
Returns
Controller
Controller instance
implementedEventssource public
implementedEvents( )
Returns the implemented events that will get routed to the trigger function in order to dispatch them separately on each component
Returns
array
array
Implementation of
CakeEventListener::implementedEvents()
initsource public
init( Controller $Controller )
Initializes all the Components for a controller. Attaches a reference of each component to the Controller.
Parameters
-
Controller
$Controller
- Controller to initialize components for.
loadsource public
load( string $component , array $settings array() )
Loads/constructs a component. Will return the instance in the registry if it already exists. You can use $settings['enabled'] = false
to disable callbacks on a component when loading it. Callbacks default to on. Disabled component methods work as normal, only callbacks are disabled.
You can alias your component as an existing component by setting the 'className' key, i.e.,
public $components = array( 'Email' => array( 'className' => 'AliasedEmail' ); );
All calls to the Email
component would use AliasedEmail
instead.
Parameters
- string
$component
- Component name to load
- array
$settings
optional array() - Settings for the component.
Returns
Component
A component object, Either the existing loaded component or a new one.
Throws
MissingComponentException
when the component could not be found
setControllersource public
setController( Controller $Controller )
Set the controller associated with the collection.
Parameters
-
Controller
$Controller
- Controller to set
Methods inherited from ObjectCollection
__getsource public
__get( string $name )
Provide public read access to the loaded objects
Parameters
- string
$name
- Name of property to read
Returns
mixed
mixed
__issetsource public
__isset( string $name )
Provide isset access to _loaded
Parameters
- string
$name
- Name of object being checked.
Returns
boolean
bool
attachedsource public
attached( string $name null )
Gets the list of attached objects, or, whether the given object is attached
Deprecated
3.0.0 Will be removed in 3.0. Use loaded instead.Parameters
- string
$name
optional null - Optional. The name of the object to check the status of. If omitted, returns an array of currently-attached objects
Returns
mixed
If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all attached objects.
disablesource public
disable( string|array $name )
Disables callbacks on an object or array of objects. Public object methods are still callable as normal.
Parameters
- string|array
$name
- CamelCased name of the objects(s) to disable (string or array)
enablesource public
enable( string|array $name , boolean $prioritize true )
Enables callbacks on an object or array of objects
Parameters
- string|array
$name
- CamelCased name of the object(s) to enable (string or array)
- boolean
$prioritize
optional true - Prioritize enabled list after enabling object(s)
enabledsource public
enabled( string $name null )
Gets the list of currently-enabled objects, or, the current status of a single objects
Parameters
- string
$name
optional null - Optional. The name of the object to check the status of. If omitted, returns an array of currently-enabled object
Returns
mixed
If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all enabled objects.
loadedsource public
loaded( string $name null )
Gets the list of loaded objects, or, whether the given object is loaded
Parameters
- string
$name
optional null - Optional. The name of the object to check the status of. If omitted, returns an array of currently-loaded objects
Returns
mixed
If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all loaded objects.
normalizeObjectArraysource public static
normalizeObjectArray( array $objects )
Normalizes an object array, creates an array that makes lazy loading easier
Parameters
- array
$objects
- Array of child objects to normalize.
Returns
array
Array of normalized objects.
prioritizesource public
prioritize( )
Prioritize list of enabled object
Returns
array
Prioritized list of object
setsource public
set( string $name null , Object $object null )
Adds or overwrites an instantiated object to the collection
Parameters
- string
$name
optional null - Name of the object
-
Object
$object
optional null - The object to use
Returns
array
Loaded objects
setPrioritysource public
setPriority( string|array $name , integer|null $priority null )
Set priority for an object or array of objects
Parameters
- string|array
$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.
- integer|null
$priority
optional null - Integer priority to set or null for default
triggersource public
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.
Options
-
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 tofalse
. -
break
Set to true to enabled breaking. When a trigger is broken, the last returned value will be returned. If used in combination withcollectReturn
the collected results will be returned. Defaults tofalse
. -
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 tofalse
. -
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.
Parameters
- string|
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 theafterSave
callback) - array
$params
optional array() - Array of parameters for the triggered callback.
- array
$options
optional array() - Array of options.
Returns
mixed
Either the last result or all results if collectReturn is on.
Throws
CakeException
when modParams is used with an index that does not exist.
unloadsource public
unload( string $name )
Name of the object to remove from the collection
Parameters
- string
$name
- Name of the object to delete.
Properties summary
Properties inherited from ObjectCollection
© 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.7/class-ComponentCollection.html