Class TableRegistry
Provides a registry/factory for Table objects.
This registry allows you to centralize the configuration for tables their connections and other meta-data.
Configuring instances
You may need to configure your table objects, using TableRegistry you can centralize configuration. Any configuration set before instances are created will be used when creating instances. If you modify configuration after an instance is made, the instances will not be updated.
TableRegistry::config('Users', ['table' => 'my_users']);
Configuration data is stored per alias if you use the same table with multiple aliases you will need to set configuration multiple times.
Getting instances
You can fetch instances out of the registry using get(). One instance is stored per alias. Once an alias is populated the same instance will always be returned. This is used to make the ORM use less memory and help make cyclic references easier to solve.
$table = TableRegistry::get('Users', $config);
Properties summary
- Default LocatorInterface implementation class.
string
- LocatorInterface implementation instance.
Method Summary
- Proxy for static calls on a locator.
- Clears the registry of configuration and instances.
-
Stores a list of options to be used when instantiating an object with a matching alias.
- Check to see if an instance exists in the registry.
- Get a table instance from the registry.
- Returns a singleton instance of LocatorInterface implementation.
- Sets and returns a singleton instance of LocatorInterface implementation.
- Removes an instance from the registry.
- Set an instance.
- Sets singleton instance of LocatorInterface implementation.
Method Detail
__callStatic()source public static
__callStatic( string $name , array $arguments )
Proxy for static calls on a locator.
Parameters
- string
$name
- Method name.
- array
$arguments
- Method arguments.
Returns
mixedconfig()source public static
config( string|null $alias null , array|null $options null )
Stores a list of options to be used when instantiating an object with a matching alias.
Parameters
- string|null
$alias
optional null - Name of the alias
- array|null
$options
optional null - list of options for the alias
Returns
arrayThe config data.
exists()source public static
exists( string $alias )
Check to see if an instance exists in the registry.
Parameters
- string
$alias
- The alias to check for.
Returns
booleanget()source public static
get( string $alias , array $options [] )
Get a table instance from the registry.
See options specification in TableLocator::get().
Parameters
- string
$alias
- The alias name you want to get.
- array
$options
optional [] - The options you want to build the table with.
Returns
Cake\ORM\Table
getTableLocator()source public static
getTableLocator( )
Returns a singleton instance of LocatorInterface implementation.
Returns
Cake\ORM\Locator\LocatorInterface
locator()source public static
locator( Cake\ORM\Locator\LocatorInterface $locator null )
Sets and returns a singleton instance of LocatorInterface implementation.
Deprecated
3.5.0 Use getTableLocator()/setTableLocator() instead.Parameters
-
Cake\ORM\Locator\LocatorInterface
$locator
optional null - Instance of a locator to use.
Returns
Cake\ORM\Locator\LocatorInterface
remove()source public static
remove( string $alias )
Removes an instance from the registry.
Parameters
- string
$alias
- The alias to remove.
set()source public static
set( string $alias , Cake\ORM\Table $object )
Set an instance.
Parameters
- string
$alias
- The alias to set.
-
Cake\ORM\Table
$object
- The table to set.
Returns
Cake\ORM\Table
setTableLocator()source public static
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Sets singleton instance of LocatorInterface implementation.
Parameters
-
Cake\ORM\Locator\LocatorInterface
$tableLocator
- Instance of a locator to use.
Properties detail
$_defaultLocatorClasssource
protected static string
Default LocatorInterface implementation class.
'Cake\ORM\Locator\TableLocator'
$_locatorsource
protected static Cake\ORM\Locator\LocatorInterface
LocatorInterface implementation instance.
© 2005–2017 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/3.4/class-Cake.ORM.TableRegistry.html