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