Spec-Zone.ru › CakePHP 3.8

Класс TableRegistry

Предоставляет реестр/фабрику для объектов Table.

Этот реестр позволяет централизовать конфигурацию таблиц, их подключений и других метаданных.

Настройка экземпляров

Возможно, вам нужно настроить ваши объекты таблиц. Используя TableLocator, вы можете централизовать конфигурацию. Любая конфигурация, заданная до создания экземпляров, будет использована при создании экземпляров. Если вы измените конфигурацию после создания экземпляра, экземпляры не будут обновлены.

TableRegistry::getTableLocator()->setConfig('Users', ['table' => 'my_users']);

// Prior to 3.6.0
TableRegistry::config('Users', ['table' => 'my_users']);

Данные конфигурации хранятся по псевдониму. Если вы используете одну и ту же таблицу с несколькими псевдонимами, вам нужно будет задавать конфигурацию несколько раз.

Получение экземпляров

Вы можете получить экземпляры из реестра с помощью TableLocator::get(). Один экземпляр хранится на псевдоним. После заполнения псевдонима, всегда будет возвращаться тот же экземпляр. Это снижает затраты памяти ORM и облегчает решение проблем с циклическими ссылками.

$table = TableRegistry::getTableLocator()->get('Users', $config);

// Prior to 3.6.0
$table = TableRegistry::get('Users', $config);
Пространство имён: Cake\ORM
Расположение: ORM/TableRegistry.php

Краткое описание свойств

  • $_defaultLocatorClass protected static
    string
    Класс реализации LocatorInterface по умолчанию.
  • $_locator protected static
    Cake\ORM\Locator\LocatorInterface
    Экземпляр реализации LocatorInterface.

Краткое описание методов

  • __callStatic() public static
    Прокси для статических вызовов на локатор.
  • clear() public static deprecated
    Очищает реестр конфигурации и экземпляров.
  • config() public static deprecated

    Хранит список параметров, которые будут использованы при создании объекта с соответствующим псевдонимом.

  • exists() public static deprecated
    Проверка наличия экземпляра в реестре.
  • get() public static deprecated
    Получение экземпляра таблицы из реестра.
  • getTableLocator() public static
    Возвращает одиночный экземпляр реализации LocatorInterface.
  • locator() public static deprecated
    Устанавливает и возвращает одиночный экземпляр реализации LocatorInterface.
  • remove() public static deprecated
    Удаляет экземпляр из реестра.
  • set() public static deprecated
    Устанавливает экземпляр.
  • setTableLocator() public static
    Устанавливает одиночный экземпляр реализации LocatorInterface.

Подробное описание методов

__callStatic()source public static

__callStatic( string $name , array $arguments )

Прокси для статических вызовов на локатор.

Параметры

строка $name
Имя метода.
массив $arguments
Аргументы метода.

Возвращаемое значение

смешанное

clear()source public static deprecated

clear( )

Очищает реестр конфигурации и экземпляров.

Устарело

3.6.0 Используйте \Cake\ORM\Locator\TableLocator::clear() вместо этого.

config()source public static deprecated

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

Хранит список параметров, которые будут использованы при создании объекта с соответствующим псевдонимом.

Устарело

3.6.0 Используйте \Cake\ORM\Locator\TableLocator::getConfig()/setConfig() вместо этого.

Параметры

строка|null $alias необязательно null
Имя псевдонима
массив|null $options необязательно null
Список параметров для псевдонима

Возвращаемое значение

массив
Данные конфигурации.

exists()source public static deprecated

exists( string $alias )

Проверка наличия экземпляра в реестре.

Устарело

3.6.0 Используйте \Cake\ORM\Locator\TableLocator::exists() вместо этого.

Параметры

строка $alias
Псевдоним для проверки.

Возвращаемое значение

boolean

get()source public static deprecated

get( string $alias , array $options = [] )

Получение экземпляра таблицы из реестра.

См. описание параметров в TableLocator::get().

Устарело

3.6.0 Используйте \Cake\ORM\Locator\TableLocator::get() вместо этого.

Параметры

строка $alias
Имя псевдонима, который вы хотите получить.
массив $options необязательно []
Параметры, с которыми вы хотите создать таблицу.

Возвращаемое значение

Cake\ORM\Table

getTableLocator()source public static

getTableLocator( )

Возвращает одиночный экземпляр реализации LocatorInterface.

Возвращаемое значение

Cake\ORM\Locator\LocatorInterface

locator()source public static deprecated

locator( Cake\ORM\Locator\LocatorInterface $locator = null )

Устанавливает и возвращает одиночный экземпляр реализации LocatorInterface.

Устарело

3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.

Параметры

Cake\ORM\Locator\LocatorInterface $locator необязательно null
Экземпляр локатора для использования.

Возвращаемое значение

Cake\ORM\Locator\LocatorInterface

remove()source public static deprecated

remove( string $alias )

Удаляет экземпляр из реестра.

Устарело

3.6.0 Используйте \Cake\ORM\Locator\TableLocator::remove() вместо этого.

Параметры

строка $alias
Псевдоним для удаления.

set()source public static deprecated

set( string $alias , Cake\ORM\Table $object )

Устанавливает экземпляр.

Устарело

3.6.0 Используйте \Cake\ORM\Locator\TableLocator::set() вместо этого.

Параметры

строка $alias
Псевдоним для установки.
Cake\ORM\Table $object
Таблица для установки.

Возвращаемое значение

Cake\ORM\Table

setTableLocator()source public static

setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )

Устанавливает одиночный экземпляр реализации LocatorInterface.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator
Экземпляр локатора для использования.

Подробное описание свойств

$_defaultLocatorClasssource

protected static строка

Класс реализации LocatorInterface по умолчанию.

'Cake\ORM\Locator\TableLocator'

$_locatorsource

protected static Cake\ORM\Locator\LocatorInterface

Экземпляр реализации интерфейса LocatorInterface.

© 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/3.8/class-Cake.ORM.TableRegistry.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API