Spec-Zone.ru › CakePHP 3.3

Трейт ModelAwareTrait

Обеспечивает функциональность для загрузки классов таблиц и других репозиториев на свойства объекта-хоста.

Примеры пользователей этого трейта — Cake\Controller\Controller и Cake\Console\Shell.

Прямые пользователи

  • Cake\Console\Shell
  • Cake\Controller\Controller
  • Cake\Mailer\Mailer
  • Cake\View\Cell

Косвенные пользователи

  • 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
Пространство имён: Cake\Datasource
Расположение: Datasource/ModelAwareTrait.php

Резюме свойств

  • $_modelFactories protected
    array
    Список переопределённых функций фабрики моделей.
  • $_modelType protected
    string
    Тип модели для использования.
  • $modelClass public
    string

    Основное имя класса модели данного объекта. Должно быть в множественном числе. 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

Подробное описание свойств

$_modelFactoriessource

protected массив

Список переопределённых функций фабрики моделей.

[]

$_modelTypesource

protected строка

Тип модели для использования.

'Table'

$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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API