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);
Property Summary
-
$_defaultLocatorClass protected static
stringDefault LocatorInterface implementation class.
-
$_locator protected static
Cake\ORM\Locator\LocatorInterfaceLocatorInterface implementation instance.
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() ¶ public static
__callStatic(string $name, array $arguments): mixed
Proxy for static calls on a locator.
Parameters
-
string$name Method name.
-
array$arguments Method arguments.
Returns
mixedclear() ¶ public static
clear(): void
Clears the registry of configuration and instances.
Returns
voidconfig() ¶ public static
config(string|null $alias = null, array|null $options = null): array
Stores a list of options to be used when instantiating an object with a matching alias.
Parameters
-
string|null$alias optional Name of the alias
-
array|null$options optional list of options for the alias
Returns
arrayThe config data.
exists() ¶ public static
exists(string $alias): bool
Check to see if an instance exists in the registry.
Parameters
-
string$alias The alias to check for.
Returns
boolget() ¶ public static
get(string $alias, array $options = []): Cake\ORM\Table
Get a table instance from the registry.
See options specification in {@link 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\TablegetTableLocator() ¶ public static
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Returns a singleton instance of LocatorInterface implementation.
Returns
Cake\ORM\Locator\LocatorInterfacelocator() ¶ public static
locator(Cake\ORM\Locator\LocatorInterface|null $locator = null): Cake\ORM\Locator\LocatorInterface
Sets and returns a singleton instance of LocatorInterface implementation.
Parameters
-
Cake\ORM\Locator\LocatorInterface|null$locator optional Instance of a locator to use.
Returns
Cake\ORM\Locator\LocatorInterfaceremove() ¶ public static
remove(string $alias): void
Removes an instance from the registry.
Parameters
-
string$alias The alias to remove.
Returns
voidset() ¶ public static
set(string $alias, Cake\ORM\Table $object): Cake\ORM\Table
Set an instance.
Parameters
-
string$alias The alias to set.
-
Cake\ORM\Table$object The table to set.
Returns
Cake\ORM\TablesetTableLocator() ¶ public static
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): void
Sets singleton instance of LocatorInterface implementation.
Parameters
-
Cake\ORM\Locator\LocatorInterface$tableLocator Instance of a locator to use.
Returns
void