Class TableLocator
Provides a default registry/factory for Table objects.
- Cake\ORM\Locator\TableLocator implements Cake\ORM\Locator\LocatorInterface
Properties summary
-
$_config
protectedConfiguration for aliases.array
-
$_fallbacked
protectedContains a list of Table objects that were created out of the built-in Table class. The list is indexed by table alias
-
$_instances
protected -
$_options
protectedContains a list of options that were passed to get() method.array
Method Summary
- _create() protectedWrapper for creating table instances
- _getClassName() protectedGets the table class name.
- clear() publicClears the registry of configuration and instances.
- config() public
Stores a list of options to be used when instantiating an object with a matching alias.
- exists() publicCheck to see if an instance exists in the registry.
- genericInstances() public
Returns the list of tables that were created by this registry that could not be instantiated from a specific subclass. This method is useful for debugging common mistakes when setting up associations or created new table classes.
- get() publicGet a table instance from the registry.
- getConfig() publicReturns configuration for an alias or the full configuration array for all aliases.
- remove() publicRemoves an instance from the registry.
- set() publicSet an instance.
- setConfig() public
Stores a list of options to be used when instantiating an object with a matching alias.
Method Detail
_create()source protected
_create( array $options )
Wrapper for creating table instances
Parameters
- array
$options
- The alias to check for.
Returns
Cake\ORM\Table
_getClassName()source protected
_getClassName( string $alias , array $options [] )
Gets the table class name.
Parameters
- string
$alias
- The alias name you want to get.
- array
$options
optional [] - Table options array.
Returns
stringclear()source public
clear( )
Clears the registry of configuration and instances.
Implementation of
Cake\ORM\Locator\LocatorInterface::clear()
config()source public
config( string|array|null $alias null , array|null $options null )
Stores a list of options to be used when instantiating an object with a matching alias.
The options that can be stored are those that are recognized by get()
If second argument is omitted, it will return the current settings for $alias.
If no arguments are passed it will return the full configuration array for all aliases
Deprecated
3.4.0 Use setConfig()/getConfig() instead.Parameters
- string|array|null
$alias
optional null - Name of the alias
- array|null
$options
optional null - list of options for the alias
Returns
arrayThe config data.
Throws
RuntimeExceptionWhen you attempt to configure an existing table instance.
Implementation of
Cake\ORM\Locator\LocatorInterface::config()
exists()source public
exists( string $alias )
Check to see if an instance exists in the registry.
Parameters
- string
$alias
- The alias to check for.
Returns
booleanImplementation of
Cake\ORM\Locator\LocatorInterface::exists()
genericInstances()source public
genericInstances( )
Returns the list of tables that were created by this registry that could not be instantiated from a specific subclass. This method is useful for debugging common mistakes when setting up associations or created new table classes.
Returns
Cake\ORM\Table[]
get()source public
get( string $alias , array $options [] )
Get a table instance from the registry.
Tables are only created once until the registry is flushed. This means that aliases must be unique across your application. This is important because table associations are resolved at runtime and cyclic references need to be handled correctly.
The options that can be passed are the same as in Cake\ORM\Table::__construct(), but the className
key is also recognized.
Options
-
className
Define the specific class name to use. If undefined, CakePHP will generate the class name based on the alias. For example 'Users' would result inApp\Model\Table\UsersTable
being used. If this class does not exist, then the defaultCake\ORM\Table
class will be used. By setting theclassName
option you can define the specific class to use. The className option supports plugin short class references Cake\Core\App::shortName(). -
table
Define the table name to use. If undefined, this option will default to the underscored version of the alias name. -
connection
Inject the specific connection object to use. If this option andconnectionName
are undefined, The table class'defaultConnectionName()
method will be invoked to fetch the connection name. -
connectionName
Define the connection name to use. The named connection will be fetched from Cake\Datasource\ConnectionManager.
Note If your $alias
uses plugin syntax only the name part will be used as key in the registry. This means that if two plugins, or a plugin and app provide the same alias, the registry will only store the first instance.
Parameters
- string
$alias
- The alias name you want to get.
- array
$options
optional [] The options you want to build the table with. If a table has already been loaded the options will be ignored.
Returns
Cake\ORM\Table
Throws
RuntimeExceptionWhen you try to configure an alias that already exists.
Implementation of
Cake\ORM\Locator\LocatorInterface::get()
getConfig()source public
getConfig( string|null $alias null )
Returns configuration for an alias or the full configuration array for all aliases.
Parameters
- string|null
$alias
optional null - Alias to get config for, null for complete config.
Returns
arrayThe config data.
remove()source public
remove( string $alias )
Removes an instance from the registry.
Parameters
- string
$alias
- The alias to remove.
Implementation of
Cake\ORM\Locator\LocatorInterface::remove()
set()source public
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
Implementation of
Cake\ORM\Locator\LocatorInterface::set()
setConfig()source public
setConfig( string|array $alias , array|null $options null )
Stores a list of options to be used when instantiating an object with a matching alias.
Parameters
- string|array
$alias
- Name of the alias or array to completely overwrite current config.
- array|null
$options
optional null - list of options for the alias
Returns
$this
Throws
RuntimeExceptionWhen you attempt to configure an existing table instance.
Properties detail
$_fallbackedsource
protected Cake\ORM\Table[]
Contains a list of Table objects that were created out of the built-in Table class. The list is indexed by table alias
[]
© 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.Locator.TableLocator.html