Класс 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); Краткое описание свойств
- Класс реализации LocatorInterface по умолчанию.
string - Экземпляр реализации LocatorInterface.
Краткое описание методов
- Прокси для статических вызовов на локатор.
- Очищает реестр конфигурации и экземпляров.
-
Хранит список параметров, которые будут использованы при создании объекта с соответствующим псевдонимом.
- Проверка наличия экземпляра в реестре.
- Получение экземпляра таблицы из реестра.
- Возвращает одиночный экземпляр реализации LocatorInterface.
- Устанавливает и возвращает одиночный экземпляр реализации LocatorInterface.
- Удаляет экземпляр из реестра.
- Устанавливает экземпляр.
- Устанавливает одиночный экземпляр реализации 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 - Псевдоним для проверки.
Возвращаемое значение
booleanget()source public static deprecated
get( string $alias , array $options = [] )
Получение экземпляра таблицы из реестра.
См. описание параметров в TableLocator::get().
Устарело
3.6.0 Используйте \Cake\ORM\Locator\TableLocator::get() вместо этого.Параметры
- строка
$alias - Имя псевдонима, который вы хотите получить.
- массив
$optionsнеобязательно [] - Параметры, с которыми вы хотите создать таблицу.
Возвращаемое значение
Cake\ORM\TablegetTableLocator()source public static
getTableLocator( )
Возвращает одиночный экземпляр реализации LocatorInterface.
Возвращаемое значение
Cake\ORM\Locator\LocatorInterfacelocator()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\LocatorInterfaceremove()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\TablesetTableLocator()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