Класс TableLocator
Предоставляет стандартную реестр/фабрику для объектов Table.
- Cake\ORM\Locator\TableLocator реализует Cake\ORM\Locator\LocatorInterface
Подробное описание методов
_createsource protected
_create( array $options )
Оборачивающий метод для создания экземпляров таблиц
Параметры
- массив
$options - Псевдоним для проверки.
Возвращает
Cake\ORM\Table\Cake\ORM\Table
_getClassNamesource protected
_getClassName( string $alias , array $options [] )
Получение имени класса таблицы.
Параметры
- строка
$alias - Имя псевдонима, которое нужно получить.
- массив
$optionsнеобязательно [] - Массив опций таблицы.
Возвращает
stringстрока
clearsource public
clear( )
Очищает реестр настроек и экземпляров.
Реализация
Cake\ORM\Locator\LocatorInterface::clear()
configsource public
config( string|null $alias null , array|null $options null )
Сохраняет список опций, используемых при создании объекта с соответствующим псевдонимом.
Сохраняемые опции — это те, которые распознаются get(). Если второй аргумент опущен, он вернёт текущие настройки для $alias.
Если не переданы аргументы, он вернёт весь массив настроек для всех псевдонимов.
Параметры
- строка|null
$aliasнеобязательно null - Имя псевдонима
- массив|null
$optionsнеобязательно null - Список опций для псевдонима
Возвращает
arrayДанные конфигурации.
Выбрасывает
RuntimeExceptionПри попытке настроить существующий экземпляр таблицы.
Реализация
Cake\ORM\Locator\LocatorInterface::config()
existssource public
exists( string $alias )
Проверка существования экземпляра в реестре.
Параметры
- строка
$alias - Псевдоним для проверки.
Возвращает
booleanbool
Реализация
Cake\ORM\Locator\LocatorInterface::exists()
genericInstancessource public
genericInstances( )
Возвращает список таблиц, созданных этим реестром, которые не были созданы из конкретного подкласса. Этот метод полезен для отладки распространённых ошибок при настройке ассоциаций или создании новых классов таблиц.
Возвращает
arrayмассив
getsource public
get( string $alias , array $options [] )
Получение экземпляра таблицы из реестра.
Таблицы создаются только один раз до момента очистки реестра. Это означает, что псевдонимы должны быть уникальными во всём приложении. Это важно, потому что ассоциации таблиц разрешаются во время выполнения, и циклические ссылки необходимо обрабатывать правильно.
Передаваемые опции аналогичны Table::__construct(), но также распознаётся ключ className.
Если $options не содержит className, CakePHP попытается сконструировать имя класса на основе псевдонима. Например, 'Users' приведёт к попытке создать App\Model\Table\UsersTable. Если этот класс не существует, будет использован класс по умолчанию Cake\ORM\Table. Установив опцию className, можно определить конкретный используемый класс. Это имя класса может использовать короткую ссылку плагина.
Если используется псевдоним плагина, только имя будет использоваться как ключ в реестре. Это означает, что если два плагина или плагин и приложение предоставляют один и тот же псевдоним, реестр сохранит только первый экземпляр.
Если не указана опция table, имя таблицы будет нижнее подчеркивание версии указанного $alias.
Если не указана опция connection, будет вызван метод defaultConnectionName() таблицы для получения имени подключения по умолчанию.
Параметры
- строка
$alias - Имя псевдонима, которое нужно получить.
- массив
$optionsнеобязательно [] - Опции для создания таблицы. Если таблица уже загружена, эти опции будут проигнорированы.
Возвращает
Cake\ORM\Table\Cake\ORM\Table
Выбрасывает
RuntimeExceptionПри попытке настроить уже существующий псевдоним.
Реализация
Cake\ORM\Locator\LocatorInterface::get()
removesource public
remove( string $alias )
Удаляет экземпляр из реестра.
Параметры
- строка
$alias - Псевдоним для удаления.
Реализация
Cake\ORM\Locator\LocatorInterface::remove()
setsource public
set( string $alias , Cake\ORM\Table $object )
Установка экземпляра.
Параметры
- строка
$alias - Псевдоним для установки.
-
Cake\ORM\Table$object - Таблица для установки.
Возвращает
Cake\ORM\Table\Cake\ORM\Table
Реализация
Cake\ORM\Locator\LocatorInterface::set()
Краткое описание свойств
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.ORM.Locator.TableLocator.html