W3cubDocs

/CakePHP 3.8

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 the TableLocator 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::getTableLocator()->setConfig('Users', ['table' => 'my_users']);

// Prior to 3.6.0
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 through TableLocator::get(). One instance is stored per alias. Once an alias is populated the same instance will always be returned. This reduces the ORM memory cost and helps make cyclic references easier to solve.

$table = TableRegistry::getTableLocator()->get('Users', $config);

// Prior to 3.6.0
$table = TableRegistry::get('Users', $config);
Namespace: Cake\ORM
Location: ORM/TableRegistry.php

Properties summary

Method Summary

  • __callStatic() public static
    Proxy for static calls on a locator.
  • clear() public static deprecated
    Clears the registry of configuration and instances.
  • config() public static deprecated

    Stores a list of options to be used when instantiating an object with a matching alias.

  • exists() public static deprecated
    Check to see if an instance exists in the registry.
  • get() public static deprecated
    Get a table instance from the registry.
  • getTableLocator() public static
    Returns a singleton instance of LocatorInterface implementation.
  • locator() public static deprecated
    Sets and returns a singleton instance of LocatorInterface implementation.
  • remove() public static deprecated
    Removes an instance from the registry.
  • set() public static deprecated
    Set an instance.
  • setTableLocator() public static
    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

mixed

clear()source public static deprecated

clear( )

Clears the registry of configuration and instances.

Deprecated

3.6.0 Use \Cake\ORM\Locator\TableLocator::clear() instead.

config()source public static deprecated

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.

Deprecated

3.6.0 Use \Cake\ORM\Locator\TableLocator::getConfig()/setConfig() instead.

Parameters

string|null $alias optional null
Name of the alias
array|null $options optional null
list of options for the alias

Returns

array
The config data.

exists()source public static deprecated

exists( string $alias )

Check to see if an instance exists in the registry.

Deprecated

3.6.0 Use \Cake\ORM\Locator\TableLocator::exists() instead.

Parameters

string $alias
The alias to check for.

Returns

boolean

get()source public static deprecated

get( string $alias , array $options = [] )

Get a table instance from the registry.

See options specification in TableLocator::get().

Deprecated

3.6.0 Use \Cake\ORM\Locator\TableLocator::get() instead.

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 deprecated

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 deprecated

remove( string $alias )

Removes an instance from the registry.

Deprecated

3.6.0 Use \Cake\ORM\Locator\TableLocator::remove() instead.

Parameters

string $alias
The alias to remove.

set()source public static deprecated

set( string $alias , Cake\ORM\Table $object )

Set an instance.

Deprecated

3.6.0 Use \Cake\ORM\Locator\TableLocator::set() instead.

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–present 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.8/class-Cake.ORM.TableRegistry.html