Трейт ModelAwareTrait
Обеспечивает функциональность для загрузки классов таблиц и других репозиториев на свойства объекта-хоста.
Примеры пользователей этого трейта — Cake\Controller\Controller и Cake\Console\Shell.
Прямые пользователи
Косвенные пользователи
- Cake\Controller\ErrorController
- Cake\Shell\CacheShell
- Cake\Shell\Task\CommandTask
- Cake\Shell\Task\ExtractTask
- Cake\Shell\Task\LoadTask
- Cake\Shell\Task\UnloadTask
- Cake\Shell\CommandListShell
- Cake\Shell\CompletionShell
- Cake\Shell\I18nShell
- Cake\Shell\OrmCacheShell
- Cake\Shell\PluginShell
- Cake\Shell\RoutesShell
- Cake\Shell\ServerShell
- Cake\Shell\Task\AssetsTask
Резюме свойств
-
$_modelFactoriesprotectedСписок переопределённых функций фабрики моделей.array -
$_modelTypeprotectedТип модели для использования.string -
$modelClasspublicstringОсновное имя класса модели данного объекта. Должно быть в множественном числе. CakePHP не будет склонять имя.
Резюме методов
- _setModelClass() protectedУстанавливает свойства modelClass и modelKey на основе соглашений.
- loadModel() publicЗагружает и создаёт объекты репозитория, необходимые для этого объекта.
- modelFactory() publicПереопределить существующую функцию для генерации репозиториев заданного типа.
- modelType() publicУстановить или получить тип модели, который будет использоваться этим классом.
Подробное описание методов
_setModelClass()source protected
_setModelClass( string $name )
Устанавливает свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны
Параметры
- строка
$name - Имя класса.
loadModel()source public
loadModel( string|null $modelClass null , string|null $modelType null )
Загружает и создаёт объекты репозитория, необходимые для этого объекта
Обычно используется для загрузки объектов таблицы ORM по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- строка|null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию равно $this->modelClass
- строка|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию равно значению modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Выбрасывает
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не может быть найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не был определён
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределить существующую функцию для генерации репозиториев заданного типа.
Параметры
- строка
$type - Имя типа репозитория, для которого предназначена функция фабрики.
- вызываемый
$factory - Функция фабрики, используемая для создания экземпляров.
modelType()source public
modelType( string|null $modelType null )
Установить или получить тип модели, который будет использоваться этим классом
Параметры
- строка|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
строка|Cake\Datasource\ModelAwareTrait$this
Подробное описание свойств
$modelClasssource
public строка
Основное имя класса модели данного объекта. Должно быть во множественном числе. CakePHP не будет склонять имя.
Пример: Для объекта под названием 'Комментарии', modelClass будет 'Комментарии'. Классы плагинов должны использовать имена в формате Plugin.Comments для правильной загрузки моделей из соответствующего плагина.
© 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.Datasource.ModelAwareTrait.html