Класс ShellDispatcher
Диспечер командной строки обрабатывает отправку команд CLI.
Обратитесь к /bin/cake.php, чтобы узнать, как этот класс используется на практике.
Устаревший: 3.6.0 ShellDispatcher и Shell будут удалены в версии 5.0
Краткое описание свойств
Краткое описание методов
-
__construct() public
Конструктор
-
_bootstrap() protected
Инициализирует среду и загружает ядро CakePHP.
-
_createShell() protected
Создаёт указанную оболочку и задаёт свойство плагина.
-
_dispatch() protected
Отправляет запрос.
-
_handleAlias() protected
Если вход соответствует псевдониму, возвращает имя оболочки псевдонима.
-
_initEnvironment() protected
Определяет текущую рабочую среду.
-
_shellExists() protected
Проверяет, существует ли класс оболочки для данного имени.
-
addShortPluginAliases() public
Для всех загруженных плагинов добавляет короткий псевдоним.
-
alias() public static
Добавить псевдоним для команды оболочки.
-
dispatch() public
Отправляет запрос CLI.
-
findShell() public
Получить оболочку для использования, либо оболочку плагина, либо оболочку приложения.
-
help() public
Отображает справку консоли. Выполняет внутреннюю отправку в оболочку CommandList.
-
resetAliases() public static
Очистить все установленные псевдонимы.
-
run() public static
Запустить диспечер.
-
shiftArgs() public
Удаляет первый аргумент и сдвигает остальные аргументы вверх.
-
version() public
Выводит текущую установленную версию CakePHP. Выполняет внутреннюю отправку в оболочку CommandList.
Подробное описание методов
__construct() public
__construct(array $args = [], bool $bootstrap = true)
Конструктор
Выполнение скрипта останавливается после обработки запроса со статусом 0 или 1 в соответствии с результатом обработки.
Параметры
-
array$args необязательный argv из PHP
-
bool$bootstrap необязательный Нужно ли инициализировать среду?
_bootstrap() защищённый
_bootstrap(): void
Инициализирует среду и загружает ядро CakePHP.
Возвращаемое значение
void_createShell() защищённый
_createShell(string $className, string $shortName): Cake\Console\Shell
Создаёт указанную оболочку и устанавливает свойство плагина.
Параметры
-
string$className Имя класса для создания экземпляра
-
string$shortName Имя оболочки с префиксом плагина
Возвращаемое значение
Cake\Console\Shell_dispatch() защищённый
_dispatch(array $extra = []): int|bool|null
Обработка запроса.
Параметры
-
array$extra необязательный Дополнительные параметры, которые можно вручную передать оболочке для обработки. Встроенный дополнительный параметр:
Возвращаемое значение
int|bool|nullИсключения
Cake\Console\Exception\MissingShellMethodException_handleAlias() защищённый
_handleAlias(string $shell): string
Если вход соответствует псевдониму, возвращает имя оболочки с псевдонимом.
Параметры
-
string$shell Необязательно, имя плагина или псевдонима
Возвращаемое значение
string_initEnvironment() защищённый
_initEnvironment(): void
Определяет текущую рабочую среду.
Возвращаемое значение
voidИсключения
Cake\Core\Exception\CakeException_shellExists() защищённый
_shellExists(string $shell): string|null
Проверяет, существует ли класс оболочки с указанным именем.
Параметры
-
string$shell Имя оболочки для поиска.
Возвращаемое значение
string|nulladdShortPluginAliases() public
addShortPluginAliases(): array
Для всех загруженных плагинов добавляет короткий псевдоним.
Это позволяет получить доступ к плагину, реализующему оболочку с тем же именем, используя только имя оболочки.
Возвращаемое значение
arrayalias() public статический
alias(string $short, string|null $original = null): string|null
Добавляет псевдоним для команды оболочки.
Псевдонимы позволяют вызывать оболочки с альтернативными именами. Это особенно полезно при работе с оболочками плагинов, для которых вы хотите более короткие имена.
Если вы повторно используете псевдоним, последняя настройка псевдонима будет доступна.
Использование
Назначение псевдонима оболочке с именем ClassName:
$this->alias('alias', 'ClassName'); Получение исходного имени для заданного псевдонима:
$this->alias('alias'); Параметры
-
string$short Новое короткое имя оболочки.
-
string|null$original необязательный Исходное полное имя оболочки.
Возвращаемое значение
string|nulldispatch() public
dispatch(array $extra = []): int
Обрабатывает запрос командной строки
Преобразует результат команды оболочки в код выхода. Значения Null/True обрабатываются как успех. Все другие значения возврата — ошибка.
Параметры
-
array$extra необязательный Дополнительные параметры, которые можно вручную передать оболочке для обработки. Встроенный дополнительный параметр:
Возвращаемое значение
intfindShell() public
findShell(string $shell): Cake\Console\Shell
Получение используемой оболочки, либо оболочки плагина, либо оболочки приложения.
Проверяются все пути в загруженных путях оболочек, обрабатывается ссылка на псевдоним.
Параметры
-
string$shell Необязательно, имя плагина
Возвращаемое значение
Cake\Console\ShellИсключения
Cake\Console\Exception\MissingShellExceptionпри возникновении ошибок.
help() public
help(): void
Отображает справку консоли. Выполняет внутреннюю обработку запроса для оболочки CommandList.
Возвращаемое значение
voidresetAliases() public статический
resetAliases(): void
Очищает установленные псевдонимы.
Возвращаемое значение
voidrun() public статический
run(array $argv, array $extra = []): int
Запуск диспетчера.
Параметры
-
array$argv argv из PHP
-
array$extra необязательный Дополнительные параметры
Возвращаемое значение
intshiftArgs() public
shiftArgs(): mixed
Удаляет первый аргумент и сдвигает остальные аргументы вверх.
Возвращаемое значение
mixedversion() public
version(): void
Выводит установленную версию CakePHP. Выполняет внутреннюю обработку запроса для оболочки CommandList.
Возвращаемое значение
voidПодробное описание свойств
$_aliases защищённый статический
Список подключенных псевдонимов.
Тип
array<string, string>$args public
Содержит аргументы, прочитанные из командной строки.
Тип
array
© 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.ShellDispatcher.html