Class ClassRegistry
Class Collections.
A repository for class objects, each registered with a key. If you try to add an object with the same key twice, nothing will come of it. If you need a second instance of an object, give it another key.
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Location: Cake/Utility/ClassRegistry.php
Properties summary
Method Summary
-
_duplicate() protected
Checks to see if $alias is a duplicate $class Object -
_getMap() protected
Return the name of a class in the registry. -
addObject() public static
Add $object to the registry, associating it with the name $key. -
config() public static
Sets the default constructor parameter for an object type -
flush() public static
Flushes all objects from the ClassRegistry. -
getInstance() public static
Return a singleton instance of the ClassRegistry. -
getObject() public static
Return object which corresponds to given key. -
init() public static
Loads a class, registers the object in the registry and returns instance of the object. ClassRegistry::init() is used as a factory for models, and handle correct injecting of settings, that assist in testing.
-
isKeySet() public static
Returns true if given key is present in the ClassRegistry. -
keys() public static
Get all keys from the registry. -
map() public static
Add a key name pair to the registry to map name to class in the registry. -
mapKeys() public static
Get all keys from the map in the registry. -
removeObject() public static
Remove object which corresponds to given key.
Method Detail
_duplicate() protected ¶
_duplicate( string $alias , string $class )
Checks to see if $alias is a duplicate $class Object
Parameters
- string $alias
- string $class
Returns
_getMap() protected ¶
_getMap( string $key )
Return the name of a class in the registry.
Parameters
- string $key
- Key to find in map
Returns
Mapped value
addObject() public static ¶
addObject( string $key , object $object )
Add $object to the registry, associating it with the name $key.
Parameters
- string $key
- Key for the object in registry
- object $object
- Object to store
Returns
True if the object was written, false if $key already exists
config() public static ¶
config( string $type , array $param = array() )
Sets the default constructor parameter for an object type
Parameters
- string $type
- Type of object. If this parameter is omitted, defaults to "Model"
- array $param optional array()
The parameter that will be passed to object constructors when objects of $type are created
Returns
Void if $param is being set. Otherwise, if only $type is passed, returns the previously-set value of $param, or null if not set.
getObject() public static ¶
getObject( string $key )
Return object which corresponds to given key.
Parameters
- string $key
- Key of object to look for
Returns
Object stored in registry or boolean false if the object does not exist.
init() public static ¶
init( string|array $class , boolean $strict = false )
Loads a class, registers the object in the registry and returns instance of the object. ClassRegistry::init() is used as a factory for models, and handle correct injecting of settings, that assist in testing.
Examples
Simple Use: Get a Post model instance ClassRegistry::init('Post');
Expanded: array('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry');
Model Classes can accept optional array('id' => $id, 'table' => $table, 'ds' => $ds, 'alias' => $alias);
When $class is a numeric keyed array, multiple class instances will be stored in the registry, no instance of the object will be returned {{{ array( array('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry'), array('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry'), array('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry') ); }}}
Parameters
- string|array $class
as a string or a single key => value array instance will be created, stored in the registry and returned.
- boolean $strict optional false
if set to true it will return false if the class was not found instead of trying to create an AppModel
Returns
instance of ClassName.
Throws
isKeySet() public static ¶
isKeySet( string $key )
Returns true if given key is present in the ClassRegistry.
Parameters
- string $key
- Key to look for
Returns
true if key exists in registry, false otherwise
keys() public static ¶
keys( )
Get all keys from the registry.
Returns
Set of keys stored in registry
map() public static ¶
map( string $key , string $name )
Add a key name pair to the registry to map name to class in the registry.
Parameters
- string $key
- Key to include in map
- string $name
- Key that is being mapped
mapKeys() public static ¶
mapKeys( )
Get all keys from the map in the registry.
Returns
Keys of registry's map
removeObject() public static ¶
removeObject( string $key )
Remove object which corresponds to given key.
Parameters
- string $key
- Key of object to remove from registry