Класс TableLocator
Предоставляет стандартную регистрацию/фабрику для объектов Table.
- Cake\ORM\Locator\TableLocator реализует Cake\ORM\Locator\LocatorInterface
Краткое описание свойств
-
$_configprotectedКонфигурация псевдонимов.array -
$_fallbackedprotectedarrayСодержит список объектов Table, созданных из встроенного класса Table. Список индексируется по псевдониму таблицы
-
$_instancesprotectedЭкземпляры, принадлежащие регистру.array -
$_optionsprotectedСодержит список опций, переданных методу get().array
Краткое описание методов
- _create() protectedОборачивающий метод для создания экземпляров таблиц
- _getClassName() protectedПолучение имени класса таблицы.
- clear() publicОчистка регистра конфигурации и экземпляров.
- config() public
Хранит список опций, используемых при создании объекта с соответствующим псевдонимом.
- exists() publicПроверка наличия экземпляра в регистре.
- genericInstances() public
Возвращает список таблиц, созданных этим регистром, которые не могли быть созданы из конкретного подкласса. Этот метод полезен для отладки распространённых ошибок при настройке ассоциаций или создании новых классов таблиц.
- get() publicПолучение экземпляра таблицы из регистра.
- remove() publicУдаление экземпляра из регистра.
- set() publicУстановка экземпляра.
Подробное описание методов
_create()source protected
_create( array $options )
Оборачивающий метод для создания экземпляров таблиц
Параметры
- массив
$options - Псевдоним для проверки.
Возвращает
Cake\ORM\Table_getClassName()source protected
_getClassName( string $alias , array $options [] )
Получение имени класса таблицы.
Параметры
- строка
$alias - Имя псевдонима, которое нужно получить.
- массив
$optionsнеобязательно [] - Массив опций таблицы.
Возвращает
строкаclear()source public
clear( )
Очистка регистра конфигурации и экземпляров.
Реализация
Cake\ORM\Locator\LocatorInterface::clear() config()source public
config( string|null $alias null , array|null $options null )
Хранит список опций, используемых при создании объекта с соответствующим псевдонимом.
Опции, которые могут быть сохранены, — это те, что распознаются get() Если второй аргумент опущен, он вернёт текущие настройки для $alias.
Если не переданы никакие аргументы, будет возвращён полный массив конфигурации для всех псевдонимов.
Параметры
- строка|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( )
Возвращает список таблиц, созданных этим регистром, которые не могли быть созданы из конкретного подкласса. Этот метод полезен для отладки распространённых ошибок при настройке ассоциаций или создании новых классов таблиц.
Возвращает
массив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 использует синтаксис плагина, только имя будет использоваться в качестве ключа в регистре. Это означает, что если два плагина или плагин и приложение предоставляют один и тот же псевдоним, регистр будет хранить только первый экземпляр.
Параметры
- строка
$alias - Имя псевдонима, которое нужно получить.
- массив
$optionsнеобязательно [] Опции, с которыми вы хотите создать таблицу. Если таблица уже загружена, опции будут проигнорированы.
Возвращает
Cake\ORM\TableИсключения
RuntimeExceptionЕсли вы пытаетесь настроить псевдоним, который уже существует.
Реализация
Cake\ORM\Locator\LocatorInterface::get() remove()source public
remove( string $alias )
Удаление экземпляра из регистра.
Параметры
- строка
$alias - Псевдоним для удаления.
Реализация
Cake\ORM\Locator\LocatorInterface::remove() set()source public
set( string $alias , Cake\ORM\Table $object )
Установка экземпляра.
Параметры
- строка
$alias - Псевдоним для установки.
-
Cake\ORM\Table$object - Таблица для установки.
Возвращает
Cake\ORM\TableРеализация
Cake\ORM\Locator\LocatorInterface::set() Подробное описание свойств
END_OF_DOCUMENT_MARKER$_fallbackedsource
protected array
Содержит список объектов Table, которые были созданы из встроенного класса Table. Список индексируется по псевдониму таблицы
[]
© 2005–2017 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.3/class-Cake.ORM.Locator.TableLocator.html