Класс TableLocator
Предоставляет стандартную регистрацию/фабрику для объектов Table.
- Cake\ORM\Locator\TableLocator реализует Cake\ORM\Locator\LocatorInterface
Краткое описание свойств
-
$_configprotectedКонфигурация псевдонимов.array -
$_fallbackedprotectedСодержит список объектов Table, созданных на основе встроенного класса Table. Список индексируется по псевдониму таблицы
- Экземпляры, принадлежащие регистру.
$_instancesprotected -
$_optionsprotectedСодержит список параметров, переданных методу get().array -
$locationsprotectedСодержит список расположений, где следует искать классы таблиц.array
Краткое описание методов
- __construct() publicКонструктор.
- _create() protectedОборачивающий метод для создания экземпляров таблиц
- _getClassName() protectedПолучение имени класса таблицы.
- addLocation() publicДобавляет расположение для поиска таблиц.
- clear() publicОчищает регистр от конфигурации и экземпляров.
-
Хранит список параметров, используемых при создании объекта с соответствующим псевдонимом.
- exists() publicПроверка существования экземпляра в регистре.
- genericInstances() public
Возвращает список таблиц, созданных этим регистром, которые не были созданы из конкретного подкласса. Этот метод полезен для отладки распространённых ошибок при настройке ассоциаций или создании новых классов таблиц.
- get() publicПолучение экземпляра таблицы из регистра.
- getConfig() publicВозвращает конфигурацию для псевдонима или весь массив конфигурации для всех псевдонимов.
- remove() publicУдаляет экземпляр из регистра.
- set() publicУстанавливает экземпляр.
- setConfig() public
Хранит список параметров, используемых при создании объекта с соответствующим псевдонимом.
Подробное описание методов
__construct()source public
__construct( array $locations = null )
Конструктор.
Параметры
- массив
$locationsнеобязательный null Расположения, где следует искать таблицы. Если не указано, используется значение по умолчанию
Model\Tableв пространстве имён вашего приложения.
_create()source protected
_create( array $options )
Оборачивающий метод для создания экземпляров таблиц
Параметры
- массив
$options - Псевдоним для проверки.
Возвращает
Cake\ORM\Table_getClassName()source protected
_getClassName( string $alias , array $options = [] )
Получение имени класса таблицы.
Параметры
- строка
$alias - Имя псевдонима, которое нужно получить.
- массив
$optionsнеобязательный [] - Массив параметров таблицы.
Возвращает
строка|ложьaddLocation()source public
addLocation( string $location )
Добавляет расположение для поиска таблиц.
Параметры
- строка
$location - Расположение для добавления.
Возвращает
$this
С момента
3.8.0clear()source public
clear( )
Очищает регистр от конфигурации и экземпляров.
Реализация
Cake\ORM\Locator\LocatorInterface::clear() config()source public deprecated
config( string|array|null $alias = null , array|null $options = null )
Хранит список параметров, используемых при создании объекта с соответствующим псевдонимом.
Параметры, которые можно хранить, — это те, которые распознаются get() Если второй аргумент опущен, он вернёт текущие настройки для $alias.
Если не переданы аргументы, он вернёт весь массив конфигурации для всех псевдонимов
Устарело
3.4.0 Используйте setConfig()/getConfig() вместо этого.Параметры
- строка|массив|null
$aliasнеобязательный null - Имя псевдонима
- массив|null
$optionsнеобязательный null - Список параметров для псевдонима
Возвращает
массивДанные конфигурации.
Исключения
RuntimeExceptionПри попытке конфигурирования существующего экземпляра таблицы.
Реализация
Cake\ORM\Locator\LocatorInterface::config() exists()source public
exists( string $alias )
Проверка существования экземпляра в регистре.
Параметры
- строка
$alias - Псевдоним для проверки.
Возвращает
булевоРеализация
Cake\ORM\Locator\LocatorInterface::exists() genericInstances()source public
genericInstances( )
Возвращает список таблиц, созданных этим регистром, которые не были созданы из конкретного подкласса. Этот метод полезен для отладки распространённых ошибок при настройке ассоциаций или создании новых классов таблиц.
Возвращает
Cake\ORM\Table[]get()source public
get( string $alias , array $options = [] )
Получить экземпляр таблицы из реестра.
Таблицы создаются только один раз, пока реестр не очищен. Это означает, что псевдонимы должны быть уникальными в вашем приложении. Это важно, потому что ассоциации таблиц разрешаются во время выполнения, и циклические ссылки должны обрабатываться корректно.
Опции, которые могут быть переданы, такие же, как в Cake\ORM\Table::__construct(), но также распознаётся ключ className.
Опции
-
classNameОпределите конкретное имя класса для использования. Если не определено, CakePHP сгенерирует имя класса на основе псевдонима. Например, «Users» приведет к использованиюApp\Model\Table\UsersTable. Если этот класс не существует, будет использован стандартный классCake\ORM\Table. Установив опциюclassName, вы можете определить конкретный класс для использования. Опция className поддерживает короткие ссылки на классы плагинов Cake\Core\App::shortName(). -
tableОпределите имя таблицы для использования. Если не определено, эта опция по умолчанию будет равна подчеркнутому варианту имени псевдонима. -
connectionВнедрить конкретный объект подключения для использования. Если эта опция иconnectionNameне определены, методdefaultConnectionName()класса таблицы будет вызван для получения имени подключения. -
connectionNameОпределите имя подключения для использования. Названное подключение будет получено из Cake\Datasource\ConnectionManager.
Примечание Если ваш $alias использует синтаксис плагина, только часть имени будет использоваться в качестве ключа в реестре. Это означает, что если два плагина или плагин и приложение предоставляют один и тот же псевдоним, реестр будет хранить только первый экземпляр.
Параметры
- string
$alias - Имя псевдонима, который вы хотите получить.
- array
$optionsнеобязательно [] Опции, с помощью которых вы хотите создать таблицу. Если таблица уже загружена, опции будут проигнорированы.
Возвращает
Cake\ORM\TableВыбрасывает
RuntimeExceptionПри попытке настроить уже существующий псевдоним.
Реализация
Cake\ORM\Locator\LocatorInterface::get() getConfig()source public
getConfig( string|null $alias = null )
Возвращает конфигурацию для псевдонима или полную конфигурацию массива для всех псевдонимов.
Параметры
- string|null
$aliasнеобязательно null - Псевдоним для получения конфигурации, null для полной конфигурации.
Возвращает
arrayДанные конфигурации.
remove()source public
remove( string $alias )
Удаляет экземпляр из реестра.
Параметры
- string
$alias - Псевдоним для удаления.
Реализация
Cake\ORM\Locator\LocatorInterface::remove() set()source public
set( string $alias , Cake\ORM\Table $object )
Установить экземпляр.
Параметры
- string
$alias - Псевдоним для установки.
-
Cake\ORM\Table$object - Таблица для установки.
Возвращает
Cake\ORM\TableРеализация
Cake\ORM\Locator\LocatorInterface::set() setConfig()source public
setConfig( string|array $alias , array|null $options = null )
Хранит список опций, которые будут использоваться при создании объекта с соответствующим псевдонимом.
Параметры
- string|array
$alias - Имя псевдонима или массив для полной перезаписи текущей конфигурации.
- array|null
$optionsнеобязательно null - Список опций для псевдонима
Возвращает
$this
Выбрасывает
RuntimeExceptionПри попытке настроить существующий экземпляр таблицы.
Магические методы, унаследованные от Cake\ORM\Locator\LocatorInterface
getConfig() |
Подробности свойств
$_fallbackedsource
protected Cake\ORM\Table[]
Содержит список объектов Table, которые были созданы из встроенного класса Table. Список индексируется по псевдониму таблицы
[]
© 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.Locator.TableLocator.html