Provides a default registry/factory for Table objects.
array<string, array|null>
Configuration for aliases.
arrayCake\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
bool
Whether fallback class should be used if a table class could not be found.
string
Fallback class to use
array<string,Cake\ORM\Table>
Instances that belong to the registry.
array<string>
Contains a list of locations where table classes should be looked for.
array<string, array>
Contains a list of options that were passed to get() method.
Constructor.
Wrapper for creating table instances
Gets the table class name.
Adds a location where tables should be looked for.
Set if fallback class should be used.
Clears the registry of configuration and instances.
Create an instance of a given classname.
Check to see if an instance exists in the registry.
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 a table instance from the registry.
Returns configuration for an alias or the full configuration array for all aliases.
Removes an repository instance from the registry.
Set a Table instance.
Stores a list of options to be used when instantiating an object with a matching alias.
Set fallback class name.
__construct(array<string>|null $locations = null)
Constructor.
array<string>|null
$locations optional Locations where tables should be looked for. If none provided, the default Model\Table
under your app's namespace is used.
_create(array<string, mixed> $options): Cake\ORM\Table
Wrapper for creating table instances
array<string, mixed>
$options The alias to check for.
Cake\ORM\Table
_getClassName(string $alias, array<string, mixed> $options = []): string|null
Gets the table class name.
string
$alias The alias name you want to get. Should be in CamelCase format.
array<string, mixed>
$options optional Table options array.
string|null
addLocation(string $location): $this
Adds a location where tables should be looked for.
string
$location Location to add.
$this
allowFallbackClass(bool $allow): $this
Set if fallback class should be used.
Controls whether a fallback class should be used to create a table instance if a concrete class for alias used in get()
could not be found.
bool
$allow Flag to enable or disable fallback
$this
clear(): void
Clears the registry of configuration and instances.
void
createInstance(string $alias, array<string, mixed> $options): Cake\Datasource\RepositoryInterface
Create an instance of a given classname.
string
$alias array<string, mixed>
$options Cake\Datasource\RepositoryInterface
exists(string $alias): bool
Check to see if an instance exists in the registry.
string
$alias The alias to check for.
bool
genericInstances(): arrayCake\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.
arrayCake\ORM\Table>
get(string $alias, array<string, mixed> $options = []): 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 {@link \Cake\ORM\Table::__construct()}, but the className
key is also recognized.
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 {@link \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 {@link \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.
string
$alias The alias name you want to get. Should be in CamelCase format.
array<string, mixed>
$options optional The options you want to build the table with. If a table has already been loaded the options will be ignored.
Cake\ORM\Table
RuntimeException
getConfig(string|null $alias = null): array
Returns configuration for an alias or the full configuration array for all aliases.
string|null
$alias optional array
remove(string $alias): void
Removes an repository instance from the registry.
string
$alias void
set(string $alias, Cake\Datasource\RepositoryInterface $repository): Cake\ORM\Table
Set a Table instance.
string
$alias The alias to set.
Cake\Datasource\RepositoryInterface
$repository The Table to set.
Cake\ORM\Table
setConfig(array<string, mixed>|string $alias, array<string, mixed>|null $options = null): $this
Stores a list of options to be used when instantiating an object with a matching alias.
array<string, mixed>|string
$alias array<string, mixed>|null
$options optional $this
setFallbackClassName(string $className): $this
Set fallback class name.
The class that should be used to create a table instance if a concrete class for alias used in get()
could not be found. Defaults to Cake\ORM\Table
.
string
$className Fallback class name
$this
Configuration for aliases.
array<string, array|null>
Contains a list of Table objects that were created out of the built-in Table class. The list is indexed by table alias
arrayCake\ORM\Table>
Whether fallback class should be used if a table class could not be found.
bool
Fallback class to use
string
Instances that belong to the registry.
array<string,Cake\ORM\Table>
Contains a list of locations where table classes should be looked for.
array<string>
Contains a list of options that were passed to get() method.
array<string, array>
© 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/4.4/class-Cake.ORM.Locator.TableLocator.html