Класс 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); Краткое описание методов
-
clear() public static deprecated
Очищает реестр конфигурации и экземпляров.
-
exists() public static deprecated
Проверяет, существует ли экземпляр в реестре.
-
get() public static deprecated
Получает экземпляр таблицы из реестра.
-
getTableLocator() public static
Возвращает одиночный экземпляр реализации LocatorInterface.
-
remove() public static deprecated
Удаляет экземпляр из реестра.
-
set() public static deprecated
Устанавливает экземпляр.
-
setTableLocator() public static
Устанавливает одиночный экземпляр реализации LocatorInterface.
Подробное описание методов
clear() public static
clear(): void
Очищает реестр конфигурации и экземпляров.
Возвращает
voidexists() public static
exists(string $alias): bool
Проверяет, существует ли экземпляр в реестре.
Параметры
-
string$alias Псевдоним для проверки.
Возвращает
boolget() public static
get(string $alias, array<string, mixed> $options = []): Cake\ORM\Table
Получает экземпляр таблицы из реестра.
См. спецификацию опций в {@link TableLocator::get()}.
Параметры
-
string$alias Имя псевдонима, который вы хотите получить.
-
array<string, mixed>$options необязательно Опции, с которыми вы хотите построить таблицу.
Возвращает
Cake\ORM\TablegetTableLocator() public static
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Возвращает одиночный экземпляр реализации LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceremove() public static
remove(string $alias): void
Удаляет экземпляр из реестра.
Параметры
-
string$alias Псевдоним для удаления.
Возвращает
voidset() public static
set(string $alias, Cake\ORM\Table $object): Cake\ORM\Table
Устанавливает экземпляр.
Параметры
-
string$alias Псевдоним для установки.
-
Cake\ORM\Table$object Таблица для установки.
Возвращает
Cake\ORM\TablesetTableLocator() public static
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): void
Устанавливает одиночный экземпляр реализации LocatorInterface.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator Экземпляр локатора для использования.
Возвращает
void
© 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.3/class-Cake.ORM.TableRegistry.html