Spec-Zone.ru › CakePHP 3.2

Трейт ModelAwareTrait

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

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

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

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

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

  • 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
Пространство имён: 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 на основе соглашений.

Если свойства уже установлены, они не будут перезаписаны.

Параметры

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

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

$_modelFactoriessource

protected array

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

[]

$_modelTypesource

protected string

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

'Table'

$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

Spec-Zone.ru

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