Class TableLocator
Предоставляет стандартную регистрацию/фабрику для объектов Table.
Краткое описание свойств
- $_config protected
arrayКонфигурация для псевдонимов.
- $_fallbacked protected
Cake\ORM\Table[]Содержит список объектов Table, созданных из встроенного класса Table. Список индексируется по псевдониму таблицы.
- $allowFallbackClass protected
boolИспользовать ли класс по умолчанию, если класс таблицы не найден.
- $fallbackClassName protected
stringКласс по умолчанию для использования
- $instances protected
array<string,Cake\ORM\Table>Экземпляры, принадлежащие реестру.
- $locations protected
arrayСодержит список местоположений, где следует искать классы таблиц.
- $options protected
arrayСодержит список опций, переданных в метод get().
Краткое описание методов
-
__construct() public
Конструктор.
-
_create() protected
Обёртка для создания экземпляров таблиц
-
_getClassName() protected
Получение имени класса таблицы.
-
addLocation() public
Добавление местоположения для поиска таблиц.
-
allowFallbackClass() public
Указать, следует ли использовать класс по умолчанию.
-
clear() public
Очистка реестра конфигурации и экземпляров.
-
createInstance() protected
Создание экземпляра заданного класса.
-
exists() public
Проверка наличия экземпляра в реестре.
-
genericInstances() public
Возвращает список таблиц, созданных этим реестром, которые не удалось создать из конкретного подкласса. Этот метод полезен для отладки распространённых ошибок при настройке ассоциаций или создании новых классов таблиц.
-
get() public
Получение экземпляра таблицы из реестра.
-
getConfig() public
Возвращает конфигурацию для псевдонима или весь массив конфигурации для всех псевдонимов.
-
remove() public
Удаление экземпляра репозитория из реестра.
-
set() public
Установка экземпляра Table.
-
setConfig() public
Сохраняет список опций, используемых при создании объекта с соответствующим псевдонимом.
-
setFallbackClassName() public
Установка имени класса по умолчанию.
Подробное описание методов
__construct() public
__construct(array|null $locations = null)
Конструктор.
Параметры
-
array|null$locations необязательно Расположения, где следует искать таблицы. Если не указано, используется значение по умолчанию
Model\Tableв пространстве имён приложения.
_create() protected
_create(array $options): Cake\ORM\Table
Обёртка для создания экземпляров таблиц
Параметры
-
array$options Псевдоним для проверки.
Возвращает
Cake\ORM\Table_getClassName() protected
_getClassName(string $alias, array $options = []): string|null
Получает имя класса таблицы.
Параметры
-
string$alias Имя псевдонима, которое нужно получить. Должно быть в формате CamelCase.
-
array$options необязательно Массив параметров таблицы.
Возвращает
string|nulladdLocation() public
addLocation(string $location): $this
Добавляет расположение, где следует искать таблицы.
Параметры
-
string$location Расположение для добавления.
Возвращает
$thisallowFallbackClass() public
allowFallbackClass(bool $allow): $this
Устанавливает, следует ли использовать класс по умолчанию.
Управляет использованием класса по умолчанию для создания экземпляра таблицы, если конкретный класс для псевдонима, используемого в get(), не был найден.
Параметры
-
bool$allow Флаг для включения или выключения использования класса по умолчанию.
Возвращает
$thisclear() public
clear(): void
Очищает реестр конфигурации и экземпляров.
Возвращает
voidcreateInstance() protected
createInstance(string $alias, array $options): Cake\Datasource\RepositoryInterface
Создаёт экземпляр заданного класса.
Параметры
-
string$alias -
array$options
Возвращает
Cake\Datasource\RepositoryInterfaceexists() public
exists(string $alias): bool
Проверяет, существует ли экземпляр в реестре.
Параметры
-
string$alias
Возвращает
boolgenericInstances() public
genericInstances(): Cake\ORM\Table[]
Возвращает список таблиц, созданных этим реестром, которые не смогли быть инстанцированы из конкретного подкласса. Этот метод полезен для отладки распространённых ошибок при настройке ассоциаций или создании новых классов таблиц.
Возвращает
Cake\ORM\Table[]get() public
get(string $alias, array $options = []): Cake\ORM\Table
Получает экземпляр таблицы из реестра.
Таблицы создаются только один раз до сброса реестра. Это означает, что псевдонимы должны быть уникальными в приложении. Это важно, потому что ассоциации таблиц разрешаются во время выполнения, и циклические ссылки должны обрабатываться корректно.
Параметры, которые могут быть переданы, такие же, как в Cake\ORM\Table::__construct(), но также распознаётся ключ className.
Параметры
-
classNameОпределите конкретное имя класса для использования. Если не определено, CakePHP сгенерирует имя класса на основе псевдонима. Например, 'Users' приведет к использованиюApp\Model\Table\UsersTable. Если этот класс не существует, используется класс по умолчаниюCake\ORM\Table. Установив параметрclassName, вы можете определить конкретный используемый класс. Параметр className поддерживает сокращённые ссылки на классы плагинов {@link \Cake\Core\App::shortName()}. -
tableОпределите имя таблицы для использования. Если не определено, этот параметр по умолчанию будет подчёркнутой версией имени псевдонима. -
connectionВнедрите конкретный объект соединения для использования. Если этот параметр иconnectionNameне определены, методdefaultConnectionName()класса таблицы будет вызван для получения имени соединения. -
connectionNameОпределите имя соединения для использования. Имя соединения будет получено из {@link \Cake\Datasource\ConnectionManager}.
Примечание Если ваше $alias использует синтаксис плагина, только имя части будет использоваться как ключ в реестре. Это означает, что если два плагина или плагин и приложение предоставляют одинаковый псевдоним, реестр будет хранить только первый экземпляр.
Параметры
-
string$alias Имя псевдонима, которое нужно получить. Должно быть в формате CamelCase.
-
array$options необязательно Параметры, с которыми нужно создать таблицу. Если таблица уже загружена, параметры будут проигнорированы.
Возвращает
Cake\ORM\TableВыбрасывает
RuntimeExceptionПри попытке настроить уже существующий псевдоним.
getConfig() public
getConfig(string|null $alias = null): array
Возвращает конфигурацию для псевдонима или весь массив конфигурации для всех псевдонимов.
Параметры
-
string|null$alias необязательно
Возвращает
arrayremove() public
remove(string $alias): void
Удаляет экземпляр хранилища из реестра.
Параметры
-
string$alias
Возвращает
voidset() public
set(string $alias, Cake\Datasource\RepositoryInterface $repository): Cake\ORM\Table
Устанавливает экземпляр таблицы.
Параметры
-
string$alias Устанавливаемый псевдоним.
-
Cake\Datasource\RepositoryInterface$repository Устанавливаемая таблица.
Возвращает
Cake\ORM\TablesetConfig() public
setConfig(string|array $alias, array|null $options = null): $this
Хранит список параметров, которые будут использованы при создании объекта с соответствующим псевдонимом.
Параметры
-
string|array$alias -
array|null$options необязательно
Возвращает
$thissetFallbackClassName() public
setFallbackClassName(string $className): $this
Устанавливает имя класса по умолчанию.
Класс, который следует использовать для создания экземпляра таблицы, если конкретный класс для псевдонима, используемого в get(), не был найден. По умолчанию Cake\ORM\Table.
Параметры
-
string$className Имя класса по умолчанию
Возвращает
$thisПодробное описание свойства
$_config protected
Настройка псевдонимов.
Тип
array$_fallbacked protected
Содержит список объектов Table, созданных из встроенного класса Table. Список индексируется по псевдониму таблицы.
Тип
Cake\ORM\Table[]$allowFallbackClass protected
Использовать ли класс по умолчанию, если класс таблицы не найден.
Тип
bool$fallbackClassName protected
Класс по умолчанию для использования.
Тип
string$instances protected
Экземпляры, принадлежащие реестру.
Тип
array<string,Cake\ORM\Table>$locations protected
Содержит список расположений, где следует искать классы таблиц.
Тип
array$options protected
Содержит список параметров, переданных методу get().
Тип
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.2/class-Cake.ORM.Locator.TableLocator.html