\Cake\ORM\LocatorTableLocator

Provides a default registry/factory for Table objects.

Summary

Methods
Properties
Constants
setConfig()
getConfig()
config()
get()
exists()
set()
clear()
genericInstances()
remove()
No public properties found
No constants found
_getClassName()
_create()
$_config
$_instances
$_fallbacked
$_options
N/A
No private methods found
No private properties found
N/A

Properties

$_config

$_config : array

Configuration for aliases.

Type

array

$_instances

$_instances : array<mixed,\Cake\ORM\Table>

Instances that belong to the registry.

Type

array<mixed,\Cake\ORM\Table>

$_fallbacked

$_fallbacked : array<mixed,\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

Type

array<mixed,\Cake\ORM\Table>

$_options

$_options : array

Contains a list of options that were passed to get() method.

Type

array

Methods

setConfig()

setConfig(string|array  $alias, array|null  $options = null) : $this

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

list of options for the alias

Throws

\RuntimeException

When you attempt to configure an existing table instance.

Returns

$this

getConfig()

getConfig(string|null  $alias = null) : array

Returns configuration for an alias or the full configuration array for all aliases.

Parameters

string|null $alias

Alias to get config for, null for complete config.

Returns

array —

The config data.

config()

config(string|array|null  $alias = null, array|null  $options = null) : array

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

Parameters

string|array|null $alias

Name of the alias

array|null $options

list of options for the alias

Throws

\RuntimeException

When you attempt to configure an existing table instance.

Returns

array —

The config data.

get()

get(string  $alias, array  $options = array()) : \Cake\ORM\Table

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 in App\Model\Table\UsersTable being used. If this class does not exist, then the default Cake\ORM\Table class will be used. By setting the className option you can define the specific class to use. The className option supports plugin short class references \Cake\ORM\Locator\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 and connectionName 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

The options you want to build the table with. If a table has already been loaded the options will be ignored.

Throws

\RuntimeException

When you try to configure an alias that already exists.

Returns

\Cake\ORM\Table

exists()

exists(string  $alias) : boolean

Check to see if an instance exists in the registry.

Parameters

string $alias

The alias to check for.

Returns

boolean

set()

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\Table

clear()

clear() : void

Clears the registry of configuration and instances.

genericInstances()

genericInstances() : array<mixed,\Cake\ORM\Table>

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

array<mixed,\Cake\ORM\Table>

remove()

remove(string  $alias) : void

Removes an instance from the registry.

Parameters

string $alias

The alias to remove.

_getClassName()

_getClassName(string  $alias, array  $options = array()) : string|false

Gets the table class name.

Parameters

string $alias

The alias name you want to get.

array $options

Table options array.

Returns

string|false

_create()

_create(array  $options) : \Cake\ORM\Table

Wrapper for creating table instances

Parameters

array $options

The alias to check for.

Returns

\Cake\ORM\Table