Spec-Zone.ru › CakePHP 4.3

Класс Command

Базовый класс для команд, использующих фреймворк CakePHP со всем стеком.

Включает трейты, которые интегрируют логирование и модели ORM в консольные команды.

Пространство имен: Cake\Command

Константы

  • int
    CODE_ERROR
    1

    Значение кода ошибки по умолчанию

  • int
    CODE_SUCCESS
    0

    Значение кода успеха по умолчанию

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

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

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

  • $_modelType protected
    string

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

  • $_tableLocator protected
    Cake\ORM\Locator\LocatorInterface|null

    Экземпляр локализации таблицы

  • $defaultTable protected
    string|null

    Псевдоним таблицы по умолчанию для этого объекта.

  • $modelClass protected deprecated
    string|null

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

  • $name protected
    string

    Имя этой команды.

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

  • __construct() public

    Конструктор

  • _setModelClass() protected

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

  • abort() public

    Останов процесс с StopException.

  • buildOptionParser() protected

    Метод-хук для определения парсера опций этой команды.

  • defaultName() public static

    Получить имя команды.

  • displayHelp() protected

    Вывод содержимого справки

  • execute() public

    Реализуйте этот метод с логикой вашей команды.

  • executeCommand() public

    Выполнить другую команду с заданным набором аргументов.

  • fetchTable() public

    Удобный метод для получения экземпляра таблицы.

  • getModelType() public

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

  • getName() public

    Получить имя команды.

  • getOptionParser() public

    Получить парсер опций.

  • getRootName() public

    Получить имя корневой команды.

  • getTableLocator() public

    Получить локализатор таблиц.

  • initialize() public

    Метод-хук, вызываемый CakePHP, когда команда собирается быть выполнена.

  • loadModel() public deprecated

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

  • log() public

    Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы, см. Log::write().

  • modelFactory() public

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

  • run() public

    Выполнить команду.

  • setModelType() public

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

  • setName() public

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

  • setOutputLevel() protected

    Установить уровень вывода на основе аргументов.

  • setTableLocator() public

    Устанавливает локализатор таблиц.

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

__construct() public

__construct()

Конструктор

По умолчанию CakePHP создаёт объекты команд при построении CommandCollection для вашего приложения.

_setModelClass() protected

_setModelClass(string $name): void

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

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

Параметры

string $name

Имя класса.

Возвращает

void

abort() public

abort(int $code = self::CODE_ERROR): void

Прервать текущий процесс с помощью StopException.

Параметры

int $code optional

Код завершения.

Возвращает

void

Исключения

Cake\Console\Exception\StopException

buildOptionParser() protected

buildOptionParser(Cake\Console\ConsoleOptionParser $parser): Cake\Console\ConsoleOptionParser

Метод-обработчик для определения парсера опций данной команды.

Параметры

Cake\Console\ConsoleOptionParser $parser

Парсер, который нужно определить

Возвращает

Cake\Console\ConsoleOptionParser

defaultName() public static

defaultName(): string

Получить имя команды.

Возвращает имя команды, основанное на имени класса. Например, для команды с именем класса UpdateTableCommand возвращаемым именем команды будет 'update_table'.

Возвращает

string

displayHelp() protected

displayHelp(Cake\Console\ConsoleOptionParser $parser, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void

Вывод содержимого справки.

Параметры

Cake\Console\ConsoleOptionParser $parser

Парсер опций.

Cake\Console\Arguments $args

Аргументы команды.

Cake\Console\ConsoleIo $io

Ввод-вывод консоли

Возвращает

void

execute() public

execute(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): int|null|void

Реализуйте этот метод с логикой вашей команды.

Параметры

Cake\Console\Arguments $args

Аргументы команды.

Cake\Console\ConsoleIo $io

Ввод-вывод консоли.

Возвращает

int|null|void

executeCommand() public

executeCommand(Cake\Console\CommandInterface|string $command, array $args = [], Cake\Console\ConsoleIo|null $io = null): int|null

Выполнить другую команду с указанным набором аргументов.

Если вы используете строковое имя команды, зависимости этой команды не будут разрешены контейнером приложения. Вместо этого вам нужно передать команду как объект со всеми её зависимостями.

Параметры

Cake\Console\CommandInterface|string $command

Имя класса команды или экземпляр команды.

array $args optional

Аргументы для вызова команды.

Cake\Console\ConsoleIo|null $io optional

Экземпляр ConsoleIo для использования в исполняемой команде.

Возвращает

int|null

fetchTable() public

fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table

Удобный метод для получения экземпляра таблицы.

Параметры

string|null $alias optional

Имя псевдонима, который нужно получить. Должно быть в формате CamelCase. Если null используется значение свойства $defaultTable.

array<string, mixed> $options optional

Опции, с которыми нужно построить таблицу. Если таблица уже загружена, опции реестра будут проигнорированы.

Возвращает

Cake\ORM\Table

Исключения

Cake\Core\Exception\CakeException
Если аргумент `$alias` и свойство `$defaultTable` оба равны `null`.

См. также

\Cake\ORM\TableLocator::get()

getModelType() public

getModelType(): string

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

Возвращает

string

getName() public

getName(): string

Получить имя команды.

Возвращает

string

getOptionParser() public

getOptionParser(): Cake\Console\ConsoleOptionParser

Получить парсер опций.

Вы можете переопределить buildOptionParser(), чтобы определить свои опции и аргументы.

Возвращает

Cake\Console\ConsoleOptionParser

Исключения

RuntimeException
Когда парсер некорректен

getRootName() public

getRootName(): string

Получить имя корневой команды.

Возвращает

string

getTableLocator() public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

Получить локатор таблиц.

Возвращает

Cake\ORM\Locator\LocatorInterface

initialize() public

initialize(): void

Метод-обработчик, вызываемый CakePHP, когда команда собирается быть выполнена.

Переопределите этот метод и реализуйте дорогостоящие/важные шаги настройки, которые не должны выполняться при каждом запуске команды. Этот метод будет вызван перед проверкой и обработкой опций и аргументов.

Возвращает

void

loadModel() public

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

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

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

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

Параметры

string|null $modelClass optional

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

string|null $modelType optional

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

Возвращает

Cake\Datasource\RepositoryInterface

Исключения

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

log() public

log(string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool

Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.

Параметры

string $message

Сообщение журнала.

string|int $level optional

Уровень ошибки.

array|string $context optional

Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

bool

modelFactory() public

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

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

Параметры

string $type

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

Cake\Datasource\Locator\LocatorInterface|callable $factory

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

Возвращает

void

run() public

run(array $argv, Cake\Console\ConsoleIo $io): int|null

Выполнить команду.

Параметры

array $argv
Cake\Console\ConsoleIo $io

Возвращает

int|null

setModelType() public

setModelType(string $modelType): $this

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

Параметры

string $modelType

Тип модели

Возвращает

$this

setName() public

setName(string $name): $this

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

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

Параметры

string $name

Возвращает

$this

setOutputLevel() protected

setOutputLevel(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void

Установить уровень вывода на основе аргументов.

Параметры

Cake\Console\Arguments $args

Аргументы команды.

Cake\Console\ConsoleIo $io

Ввод-вывод консоли

Возвращает

void

setTableLocator() public

setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this

Устанавливает локатор таблицы.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator

Экземпляр LocatorInterface.

Возвращает

$this

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

$_modelFactories protected

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

Тип

array<callableCake\Datasource\Locator\LocatorInterface>

$_modelType protected

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

Тип

string

$_tableLocator protected

Экземпляр локатора таблицы

Тип

Cake\ORM\Locator\LocatorInterface|null

$defaultTable protected

Псевдоним таблицы по умолчанию для этого объекта.

Тип

string|null

$modelClass protected deprecated

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

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

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

Тип

string|null

$name protected

Имя этой команды.

Тип

string

© 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/class-Cake.Command.Command.html

Spec-Zone.ru

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