CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.3 Red Velvet API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 3.3
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
      • Association
      • Behavior
      • Exception
      • Locator
      • Rule
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

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 TableRegistry 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::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 using get(). One instance is stored per alias. Once an alias is populated the same instance will always be returned. This is used to make the ORM use less memory and help make cyclic references easier to solve.

$table = TableRegistry::get('Users', $config);
Namespace: Cake\ORM

Property Summary

  • $_defaultLocatorClass protected static
    string

    Default LocatorInterface implementation class.

  • $_locator protected static
    Cake\ORM\Locator\LocatorInterface

    LocatorInterface implementation instance.

Method Summary

  • __callStatic() public static

    Proxy for static calls on a locator.

  • clear() public static

    Clears the registry of configuration and instances.

  • config() public static

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

  • exists() public static

    Check to see if an instance exists in the registry.

  • get() public static

    Get a table instance from the registry.

  • locator() public static

    Sets and returns a singleton instance of LocatorInterface implementation.

  • remove() public static

    Removes an instance from the registry.

  • set() public static

    Set an instance.

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
mixed

clear() ¶ public static

clear(): void

Clears the registry of configuration and instances.

Returns
void

config() ¶ 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
array

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
bool

get() ¶ 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\Table

locator() ¶ 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\LocatorInterface

remove() ¶ public static

remove(string $alias): void

Removes an instance from the registry.

Parameters
string $alias

The alias to remove.

Returns
void

set() ¶ 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\Table

Property Detail

$_defaultLocatorClass ¶ protected static

Default LocatorInterface implementation class.

Type
string

$_locator ¶ protected static

LocatorInterface implementation instance.

Type
Cake\ORM\Locator\LocatorInterface
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs