Класс Shell
Базовый класс для утилит командной строки для автоматизации задач программиста.
Эквивалент Cake\Controller\Controller в командной строке.
Константы
-
intCODE_ERROR1
Значение кода ошибки по умолчанию
-
intCODE_SUCCESS0
Значение кода успеха по умолчанию
-
intNORMALConsoleIo::NORMAL
Константа вывода для создания обычных оболочек.
-
intQUIETConsoleIo::QUIET
Константы вывода для создания тихих оболочек.
-
intVERBOSEConsoleIo::VERBOSE
Константа вывода для создания подробных оболочек.
Краткое описание свойств
- $OptionParser public
Cake\Console\ConsoleOptionParserЭкземпляр ConsoleOptionParser, настроенный для этого класса.
- $Tasks public
Cake\Console\TaskRegistryКоллекция задач для команды, используемая для создания задач.
- $_io protected
Cake\Console\ConsoleIoЭкземпляр ConsoleIo.
- $_modelFactories protected
array<callableCake\Datasource\Locator\LocatorInterface>Список переопределённых функций фабрики моделей.
- $_modelType protected
stringТип модели для использования.
- $_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullЭкземпляр локатора таблиц.
- $_taskMap protected
array<string, array>Нормализованное отображение задач.
- $args public
arrayСодержит аргументы, распарсенные из командной строки.
- $command public
string|nullКоманда (метод/задача), которая выполняется.
- $defaultTable protected
string|nullАлиас таблицы по умолчанию для этого объекта.
- $interactive public
boolЕсли true, скрипт запросит разрешение на выполнение действий.
- $modelClass protected deprecated
string|nullИмя основного класса модели для этого объекта. Должно быть в множественном числе. CakePHP не будет склонять имя.
- $name public
stringИмя оболочки в стиле camelized.
- $params public
arrayСодержит флаги команды, распарсенные из командной строки.
- $plugin public
stringИмя плагина, к которому принадлежит оболочка. Автоматически устанавливается ShellDispatcher при создании оболочки.
- $rootName protected
stringКорневое имя команды, используемое при генерации вывода справки.
- $taskNames public
array<string>Содержит загруженные задачи.
- $tasks public
array|boolСодержит задачи для загрузки и создания экземпляров.
Краткое описание методов
-
__construct() public
Создаёт экземпляр Shell.
-
__debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
__get() public
Перегрузка get для ленивого построения задач
-
_displayHelp() protected
Отображает справку в правильном формате
-
_mergeProperty() protected
Объединяет одно свойство со значениями, объявленными во всех родительских классах.
-
_mergePropertyData() protected
Объединяет каждый из ключей в свойстве вместе.
-
_mergeVars() protected
Объединяет список $properties со всеми родительскими классами текущего класса.
-
_setModelClass() protected
Устанавливает свойство modelClass на основе соглашений.
-
_setOutputLevel() protected
Устанавливает уровень вывода на основе параметров.
-
_stop() protected
Останавливает выполнение текущего скрипта. Вызывает StopException для остановки выполнения.
-
_validateTasks() protected
Проверяет, что задачи в карте задач действительно доступны
-
_welcome() protected
Отображает заголовок оболочки.
-
abort() public
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом ошибки.
-
clear() public
Очистить консоль
-
createFile() public
Создаёт файл по заданному пути.
-
dispatchShell() public
Перенаправить команду в другую оболочку. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
-
err() public
Выводит одно или несколько сообщений об ошибке в stderr. Если параметры не переданы, выводит только новую строку.
-
fetchTable() public
Удобный метод для получения экземпляра таблицы.
-
getIo() public
Получить объект io для этой оболочки.
-
getModelType() public
Получить тип модели, который будет использоваться этим классом
-
getOptionParser() public
Получает экземпляр парсера опций и настраивает его.
-
getTableLocator() public
Получить локатор таблицы.
-
hasMethod() public
Проверка наличия вызываемого метода с заданным именем в этой оболочке.
-
hasTask() public
Проверка наличия задачи с заданным именем в этой оболочке.
-
helper() public
Отобразить помощника консоли.
-
hr() public
Выводит серию символов минус в стандартный вывод, используется в качестве визуального разделителя.
-
in() public
Запрашивает у пользователя ввод и возвращает его.
-
info() public
Удобный метод для out(), который оборачивает сообщение тегами .
-
initialize() public
Инициализирует оболочку, выступает в качестве конструктора для подклассов, позволяет настроить задачи до выполнения оболочки.
-
loadModel() public deprecated
Загружает и строит объекты хранилища, необходимые для этого объекта.
-
loadTasks() public
Загружает задачи, определённые в public $tasks.
-
log() public
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
-
main() public @method
Главный метод входа для оболочки.
-
modelFactory() public
Переопределяет существующую вызываемую функцию для создания хранилищ заданного типа.
-
nl() public
Возвращает одну или несколько последовательностей символов новой строки.
-
out() public
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводит только новую строку.
-
param() public
Безопасный доступ к значениям в $this->params.
-
parseDispatchArguments() public
Разбирает аргументы для метода dispatchShell().
-
quiet() public
Вывод на всех уровнях.
-
runCommand() public
Запускает оболочку с предоставленными argv.
-
setIo() public
Установить объект io для этой оболочки.
-
setModelType() public
Установить тип модели, который будет использоваться этим классом
-
setRootName() public
Установить имя корневой команды для вывода справки.
-
setTableLocator() public
Устанавливает локатор таблицы.
-
shortPath() public
Делает абсолютный путь к файлу более читаемым.
-
startup() public
Запускает оболочку и отображает приветственное сообщение. Позволяет проверить и настроить перед выполнением команды или основного метода.
-
success() public
Удобный метод для out(), который оборачивает сообщение тегами .
-
verbose() public
Вывод на уровне подробного описания.
-
warn() public
Удобный метод для err(), который оборачивает сообщение тегами .
-
wrapText() public
Оборачивает блок текста. Позволяет задать ширину и отступы для блока текста.
Подробное описание методов
__construct() public
__construct(Cake\Console\ConsoleIo|null $io = null, Cake\ORM\Locator\LocatorInterface|null $locator = null)
Создаёт экземпляр Shell.
Параметры
-
Cake\Console\ConsoleIo|null$io optional Экземпляр io.
-
Cake\ORM\Locator\LocatorInterface|null$locator optional Экземпляр локатора таблиц.
Ссылки
__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив, который может быть использован для описания внутреннего состояния объекта.
Возвращаемое значение
array<string, mixed>__get() public
__get(string $name): Cake\Console\Shell
Перегрузка get для ленивого создания задач
Параметры
-
string$name Задача для получения.
Возвращаемое значение
Cake\Console\Shell_displayHelp() protected
_displayHelp(string|null $command = null): int|null
Отображает справку в правильном формате
Параметры
-
string|null$command optional Команда, для которой требуется справка.
Возвращаемое значение
int|null_mergeProperty() protected
_mergeProperty(string $property, array<string> $parentClasses, array<string, mixed> $options): void
Объединяет одно свойство со значениями, объявленными во всех родительских классах.
Параметры
-
string$property Имя объединяемого свойства.
-
array<string>$parentClasses Массив классов, которые необходимо объединить.
-
array<string, mixed>$options Параметры для объединения свойства, см. _mergeVars()
Возвращаемое значение
void_mergePropertyData() protected
_mergePropertyData(array $current, array $parent, bool $isAssoc): array
Объединяет каждый из ключей в свойстве.
Параметры
-
array$current Текущее объединённое значение.
-
array$parent Значение родительского класса.
-
bool$isAssoc Указывает, должно ли объединение выполняться в ассоциативном режиме.
Возвращаемое значение
array_mergeVars() protected
_mergeVars(array<string> $properties, array<string, mixed> $options = []): void
Объединяет список $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
-
array<string>$properties Массив свойств и стратегии их объединения.
-
array<string, mixed>$options optional Параметры, используемые при объединении свойств.
Возвращаемое значение
void_setModelClass() protected
_setModelClass(string $name): void
Устанавливает свойство modelClass, основываясь на соглашениях.
Если свойство уже установлено, оно не будет перезаписано.
Параметры
-
string$name Имя класса.
Возвращаемое значение
void_setOutputLevel() protected
_setOutputLevel(): void
Устанавливает уровень вывода на основе параметров.
Это переконфигурирует уровень вывода для out() и настроенное журналирование stdout/stderr.
Возвращаемое значение
void_stop() protected
_stop(int $status = self::CODE_SUCCESS): void
Останавливает выполнение текущего скрипта. Поднимает исключение StopException для попытки остановки выполнения.
Параметры
-
int$status optional см. https://secure.php.net/exit для значений
Возвращаемое значение
voidИсключения
Cake\Console\Exception\StopException_validateTasks() protected
_validateTasks(): void
Проверяет, что задачи в карте задач фактически доступны
Возвращаемое значение
voidИсключения
RuntimeException_welcome() protected
_welcome(): void
Отображает заголовок для оболочки
Возвращаемое значение
voidabort() public
abort(string $message, int $exitCode = self::CODE_ERROR): void
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом ошибки.
Параметры
-
string$message Сообщение об ошибке
-
int$exitCode optional Код завершения для задачи оболочки.
Возвращаемое значение
voidИсключения
Cake\Console\Exception\StopExceptionСсылки
clear() public
clear(): void
Очистить консоль
Возвращаемое значение
voidСсылки
createFile() public
createFile(string $path, string $contents): bool
Создаёт файл по заданному пути
Параметры
-
string$path Куда поместить файл.
-
string$contents Содержимое файла.
Возвращаемое значение
boolСсылки
dispatchShell() public
dispatchShell(): int
Перенаправляет команду в другую оболочку. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
С текстовой командой:
return $this->dispatchShell('schema create DbAcl'); Избегайте использования этого формата, если у вас есть строковые аргументы с пробелами. Вызванная оболочка будет запущена неправильно. Используйте этот формат только для простого перенаправления команд.
С командным массивом:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry'); С массивом, содержащим две пары ключ/значение:
-
commandможет принимать строку или массив. Представляет команду для перенаправления-
extraможет принимать массив дополнительных параметров для передачи диспетчеру. Эти параметры будут доступны в свойствеparamвызываемойShell
-
return $this->dispatchShell([ 'command' => 'schema create DbAcl', 'extra' => ['param' => 'value'] ]);
или
return $this->dispatchShell([ 'command' => ['schema', 'create', 'DbAcl'], 'extra' => ['param' => 'value'] ]);
Возвращаемое значение
intСсылки
err() public
err(array<string>|string $message, int $newlines = 1): int
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводит только новую строку.
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество новых строк для добавления
Возвращаемое значение
intfetchTable() public
fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table
Метод для получения экземпляра таблицы.
Параметры
-
string|null$alias необязательный Имя псевдонима, который требуется получить. Должно быть в формате CamelCase. Если
nullто используется значение свойства $defaultTable.-
array<string, mixed>$options необязательный Настройки для создания таблицы. Если таблица уже загружена, настройки реестра будут проигнорированы.
Возвращает
Cake\ORM\TableВыбрасывает
Cake\Core\Exception\CakeExceptionЕсли аргумент `$alias` и свойство `$defaultTable` оба равны `null`.
См. также
getIo() public
getIo(): Cake\Console\ConsoleIo
Получить объект io для данного командного интерпретатора.
Возвращает
Cake\Console\ConsoleIogetModelType() public
getModelType(): string
Получить тип модели, используемый этим классом.
Возвращает
stringgetOptionParser() public
getOptionParser(): Cake\Console\ConsoleOptionParser
Получить экземпляр парсера опций и настроить его.
Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвращением.
Возвращает
Cake\Console\ConsoleOptionParserСсылки
getTableLocator() public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Получить локатор таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacehasMethod() public
hasMethod(string $name): bool
Проверить, есть ли у этого командного интерпретатора вызываемый метод с заданным именем.
Параметры
-
string$name Имя метода для проверки.
Возвращает
boolСсылки
hasTask() public
hasTask(string $task): bool
Проверить, есть ли у этого командного интерпретатора задача с заданным именем.
Параметры
-
string$task Имя задачи для проверки.
Возвращает
boolСсылки
helper() public
helper(string $name, array<string, mixed> $config = []): Cake\Console\Helper
Отобразить помощника командной строки.
Создать и отобразить вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
-
string$name Имя помощника для отображения
-
array<string, mixed>$config необязательный Данные конфигурации для помощника.
Возвращает
Cake\Console\Helperhr() public
hr(int $newlines = 0, int $width = 63): void
Выводит серию символов минус в стандартный вывод, используется в качестве визуального разделителя.
Параметры
-
int$newlines необязательный Количество новых строк для добавления до и после
-
int$width необязательный Ширина линии, по умолчанию 63
Возвращает
voidСсылки
in() public
in(string $prompt, array<string>|string|null $options = null, string|null $default = null): string|null
Запрашивает у пользователя ввод и возвращает его.
Параметры
-
string$prompt Текст запроса.
-
array<string>|string|null$options необязательный Массив или строка опций.
-
string|null$default необязательный Значение ввода по умолчанию.
Возвращает
string|nullСсылки
info() public
info(array<string>|string $message, int $newlines = 1, int $level = Shell::NORMAL): int|null
Удобный метод для out(), который оборачивает сообщение тегами .
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines необязательный Количество добавляемых новых строк
-
int$level необязательный Уровень вывода сообщения, см. выше.
Возвращает
int|nullСм. также
initialize() public
initialize(): void
Инициализирует командный интерпретатор, действует как конструктор для подклассов, позволяет настроить задачи до выполнения командного интерпретатора.
Возвращает
voidСсылки
loadModel() public
loadModel(string|null $modelClass = null, string|null $modelType = null): Cake\Datasource\RepositoryInterface
Загружает и создаёт объекты репозитория, необходимые для этого объекта.
Обычно используется для загрузки объектов ORM Table, как необходимо. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение 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 пустое.
loadTasks() public
loadTasks(): true
Загружает задачи, определённые в public $tasks
Возвращает
truelog() public
log(string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
-
string$message Сообщение журнала.
-
string|int$level необязательный Уровень ошибки.
-
array|string$context необязательный Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
boolmain() public @method
main(mixed ...$args): int|bool|null|void
Основной метод входа для командного интерпретатора.
Параметры
- ...$args
Возвращает
int|bool|null|voidmodelFactory() public
modelFactory(string $type, Cake\Datasource\Locator\LocatorInterface|callable $factory): void
Переопределить существующую вызываемую функцию для генерации репозиториев заданного типа.
Параметры
-
string$type Название типа репозитория, для которого предназначена функция-фабрика.
-
Cake\Datasource\Locator\LocatorInterface|callable$factory Функция-фабрика, используемая для создания экземпляров.
Возвращает
voidnl() public
nl(int $multiplier = 1): string
Возвращает последовательность из одной или нескольких строк перевода каретки.
Parameters
-
int$multiplier optional Количество повторений последовательности перевода каретки
Returns
stringLinks
out() public
out(array<string>|string $message, int $newlines = 1, int $level = Shell::NORMAL): int|null
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводит только новую строку.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet, присутствующим в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Parameters
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество новых строк для добавления
-
int$level optional Уровень вывода сообщения, см. выше.
Returns
int|nullLinks
param() public
param(string $name): string|bool|null
Безопасный доступ к значениям в $this->params.
Parameters
-
string$name Имя параметра для получения.
Returns
string|bool|nullparseDispatchArguments() public
parseDispatchArguments(array $args): array
Разбирает аргументы для метода dispatchShell().
Parameters
-
array$args Аргументы, полученные из метода dispatchShell() с помощью func_get_args()
Returns
arrayquiet() public
quiet(array<string>|string $message, int $newlines = 1): int|null
Вывод на всех уровнях.
Parameters
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество новых строк для добавления
Returns
int|nullrunCommand() public
runCommand(array $argv, bool $autoMethod = false, array $extra = []): int|bool|null
Запускает Shell с предоставленными argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.
Для вызова задач они должны быть представлены как подкоманды. Если вы определяете какие-либо подкоманды, вы должны определить все подкоманды, необходимые вашей оболочке, независимо от того, являются ли они методами этого класса или методами задач.
Parameters
-
array$argv Массив аргументов для запуска оболочки. В этом массиве должно отсутствовать имя оболочки.
-
bool$autoMethod optional Установите в true, чтобы разрешить вызов любого открытого метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher для упрощения создания простых оболочек.
-
array$extra optional Дополнительные параметры, которые можно вручную передать в Shell для отправки. Встроенный дополнительный параметр:
Returns
int|bool|nullLinks
setIo() public
setIo(Cake\Console\ConsoleIo $io): void
Устанавливает объект io для этой оболочки.
Parameters
-
Cake\Console\ConsoleIo$io Объект ConsoleIo для использования.
Returns
voidsetModelType() public
setModelType(string $modelType): $this
Устанавливает тип модели, который будет использоваться этим классом
Parameters
-
string$modelType Тип модели
Returns
$thissetRootName() public
setRootName(string $name): $this
Устанавливает имя корневой команды для вывода справки.
Parameters
-
string$name Имя корневой команды.
Returns
$thissetTableLocator() public
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
Устанавливает локатор таблицы.
Parameters
-
Cake\ORM\Locator\LocatorInterface$tableLocator Экземпляр LocatorInterface.
Returns
$thisshortPath() public
shortPath(string $file): string
Делает абсолютный путь к файлу более читаемым
Parameters
-
string$file Абсолютный путь к файлу
Returns
stringLinks
startup() public
startup(): void
Запускает Shell и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основного действия
Переопределите этот метод, если вы хотите удалить приветственную информацию или изменить поток перед командой.
Returns
voidLinks
success() public
success(array<string>|string $message, int $newlines = 1, int $level = Shell::NORMAL): int|null
Вспомогательный метод для out(), который заключает сообщение в тег <success>
Parameters
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество новых строк для добавления
-
int$level optional Уровень вывода сообщения, см. выше.
Returns
int|nullSee Also
verbose() public
verbose(array<string>|string $message, int $newlines = 1): int|null
Вывод на подробном уровне.
Parameters
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество новых строк для добавления
Returns
int|nullwarn() public
warn(array<string>|string $message, int $newlines = 1): int
Вспомогательный метод для err(), который заключает сообщение в тег <warning>
Parameters
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество новых строк для добавления
Returns
intSee Also
wrapText() public
wrapText(string $text, array<string, mixed>|int $options = []): string
Оборачивание блока текста. Позволяет задать ширину и отступы для блока текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезка только по словам (пробелы). По умолчанию true. -
indentОтступ текста с помощью заданной строки. По умолчанию null.
Параметры
-
string$text Текст для форматирования.
-
array<string, mixed>|int$options optional Массив параметров для использования или целое число для обрезки текста.
Возвращаемое значение
stringСм. также
Ссылки
Подробное описание свойств
$OptionParser public
Экземпляр ConsoleOptionParser, настроенный для этого класса.
Тип
Cake\Console\ConsoleOptionParser$Tasks public
Коллекция задач для команды, используемая для создания задач.
Тип
Cake\Console\TaskRegistry$_io protected
Экземпляр ConsoleIo.
Тип
Cake\Console\ConsoleIo$_modelFactories protected
Список переопределённых функций фабрики моделей.
Тип
array<callableCake\Datasource\Locator\LocatorInterface>$_modelType protected
Тип используемой модели.
Тип
string$_tableLocator protected
Экземпляр локатора таблиц.
Тип
Cake\ORM\Locator\LocatorInterface|null$_taskMap protected
Нормализованная карта задач.
Тип
array<string, array>$args public
Содержит аргументы, разобранные из командной строки.
Тип
array$command public
Команда (метод/задача), которая выполняется.
Тип
string|null$defaultTable protected
Базовое алиас таблицы для этого объекта.
Тип
string|null$interactive public
Если true, скрипт запросит разрешение на выполнение действий.
Тип
bool$modelClass protected deprecated
Имя основного класса модели для этого объекта. Должно быть в множественном числе. CakePHP не будет склонять имя.
Пример: для объекта под названием "Комментарии", modelClass будет "Комментарии". Классы плагинов должны использовать имена в формате Plugin.Comments для правильной загрузки моделей из соответствующего плагина.
Использование пустой строки для отключения автоматической загрузки для этого объекта. Null автоматически определяет на основе имени контроллера.
Тип
string|null$name public
Имя оболочки в камелизованном формате.
Тип
string$params public
Содержит параметры команд, разобранные из командной строки.
Тип
array$plugin public
Имя плагина, к которому принадлежит оболочка. Автоматически устанавливается ShellDispatcher при создании оболочки.
Тип
string$rootName protected
Корневое имя команды, используемое при генерации вывода справки.
Тип
string$taskNames public
Содержит загруженные задачи.
Тип
array<string>$tasks public
Содержит задачи для загрузки и инициализации.
Тип
array|bool
© 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.Console.Shell.html