Spec-Zone.ru › CakePHP 4.2

Класс Command

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

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

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

Константы

  • int
    CODE_ERROR
    1

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

  • int
    CODE_SUCCESS
    0

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

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

  • $_modelFactories protected
    (callableCake\Datasource\Locator\LocatorInterface)[]

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

  • $_modelType protected
    string

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

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

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

  • $modelClass protected
    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

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

  • getModelType() public

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

  • getName() public

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

  • getOptionParser() public

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

  • getRootName() public

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

  • getTableLocator() public

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

  • initialize() public

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

  • loadModel() public

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

  • log() public

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

  • modelFactory() public

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

  • run() public

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

  • setModelType() public

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

  • setName() public

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

  • setOutputLevel() protected

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

  • setTableLocator() public

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

END_OF_DOCUMENT_MARKER ```

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

__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(stringCake\Console\CommandInterface $command, array $args = [], Cake\Console\ConsoleIo $io = null): int|null

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

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

Параметры

stringCake\Console\CommandInterface $command

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

array $args optional

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

Cake\Console\ConsoleIo $io optional

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

Возвращает

int|null

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' или FQCN, например, 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, int|string $level = LogLevel::ERROR, string|array $context = []): bool

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

Параметры

string $message

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

int|string $level optional

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

string|array $context optional

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

Возвращает

bool

modelFactory() public

modelFactory(string $type, callableCake\Datasource\Locator\LocatorInterface $factory): void

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

Параметры

string $type

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

callableCake\Datasource\Locator\LocatorInterface $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

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

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

Параметры

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

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

Тип

(callableCake\Datasource\Locator\LocatorInterface)[]

$_modelType protected

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

Тип

string

$_tableLocator protected

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

Тип

Cake\ORM\Locator\LocatorInterface|null

$modelClass protected

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

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

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

Тип

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

Spec-Zone.ru

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