Spec-Zone.ru › CakePHP 4.3

Описание
ModelAwareTrait

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

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

Пространство имен: Cake\Datasource
Устарело: 4.3.0 Используйте `Cake\ORM\Locator\LocatorAwareTrait` вместо него.

Краткое описание свойств

  • $_modelFactories protected
    array<callableCake\Datasource\Locator\LocatorInterface>

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

  • $_modelType protected
    string

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

  • $modelClass protected deprecated
    string|null

    Основное имя класса модели объекта. Должно быть в множественном числе. CakePHP не будет склонять имя.

Краткое описание методов

  • _setModelClass() protected

    Установить свойство modelClass на основе соглашений.

  • getModelType() public

    Получить тип модели, используемый этим классом

  • loadModel() public deprecated

    Загружает и создаёт объекты репозитория, необходимые для этого объекта

  • modelFactory() public

    Переопределить существующую вызываемую функцию для создания репозиториев заданного типа.

  • setModelType() public

    Установить тип модели, используемый этим классом

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

_setModelClass() protected

_setModelClass(string $name): void

Установить свойство modelClass на основе соглашений.

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

Параметры

string $name

Имя класса.

Возвращает

void

getModelType() public

getModelType(): string

Получить тип модели, используемый этим классом

Возвращает

string

loadModel() public

loadModel(string|null $modelClass = null, string|null $modelType = null): Cake\Datasource\RepositoryInterface

Загружает и создаёт объекты репозитория, необходимые для этого объекта

Обычно используется для загрузки объектов таблиц ORM по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.

Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.

Параметры

string|null $modelClass необязательно

Имя класса модели для загрузки. По умолчанию — $this->modelClass. Имя может быть псевдонимом, как 'Post' или полным именем класса, как App\Model\Table\PostsTable::class.

string|null $modelType необязательно

Тип репозитория для загрузки. По умолчанию — значение getModelType().

Возвращает

Cake\Datasource\RepositoryInterface

Исключения

Cake\Datasource\Exception\MissingModelException
Если класс модели не найден.
UnexpectedValueException
Если аргумент $modelClass не указан, а значение свойства ModelAwareTrait::$modelClass пустое.

modelFactory() public

modelFactory(string $type, Cake\Datasource\Locator\LocatorInterface|callable $factory): void

Переопределить существующую вызываемую функцию для создания репозиториев заданного типа.

Параметры

string $type

Имя типа репозитория, для которого предназначена функция фабрики.

Cake\Datasource\Locator\LocatorInterface|callable $factory

Функция фабрики, используемая для создания экземпляров.

Возвращает

void

setModelType() public

setModelType(string $modelType): $this

Установить тип модели, используемый этим классом

Параметры

string $modelType

Тип модели

Возвращает

$this

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

$_modelFactories protected

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

Тип

array<callableCake\Datasource\Locator\LocatorInterface>

$_modelType protected

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

Тип

string

$modelClass protected deprecated

Основное имя класса модели объекта. Должно быть в множественном числе. CakePHP не будет склонять имя.

Пример: для объекта с именем 'Комментарии' modelClass будет 'Комментарии'. Классы плагинов должны использовать имена в формате Plugin.Comments для корректной загрузки моделей из соответствующего плагина.

Используйте пустую строку, чтобы не использовать автоматическую загрузку для этого объекта. Нуль автоматически определяет на основе имени контроллера.

Тип

string|null

© 2005–present 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/4.3/trait-Cake.Datasource.ModelAwareTrait.html

Spec-Zone.ru

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