Класс ShellDispatcher
Диспечер Shell обрабатывает диспетчеризацию команд CLI.
Обратитесь к /bin/cake.php, чтобы узнать, как этот класс используется на практике.
Прямые подклассы
Краткое описание свойств
- Список подключённых псевдонимов.
array -
$argspublicСодержит аргументы, пропаршенные из командной строки.array
Краткое описание методов
- __construct() publicКонструктор
- _bootstrap() protectedИнициализирует среду и загружает ядро CakePHP.
- _createShell() protectedСоздаёт указанную оболочку и устанавливает свойство плагина
- _dispatch() protectedДиспетчеризация запроса.
- _handleAlias() protectedЕсли вход соответствует псевдониму, возвращает имя оболочки с псевдонимом
- _initEnvironment() protectedОпределяет текущую рабочую среду.
- _shellExists() protectedПроверка существования класса оболочки для данного имени.
- addShortPluginAliases() publicДля всех загруженных плагинов добавляет короткий псевдоним
- Добавить псевдоним для команды оболочки.
- dispatch() publicДиспетчеризация запроса CLI
- findShell() publicПолучить оболочку для использования, либо оболочку плагина, либо оболочку приложения
- help() publicОтображает справку консоли. Выполняет внутреннюю диспетчеризацию к оболочке CommandList
- Очистить любые установленные псевдонимы.
- Запустить диспечер
- shiftArgs() publicУдаляет первый аргумент и сдвигает другие аргументы вверх
- version() publicВыводит текущую установленную версию CakePHP. Выполняет внутреннюю диспетчеризацию к оболочке CommandList
Подробное описание методов
__construct()source public
__construct( array $args = [] , boolean $bootstrap = true )
Конструктор
Выполнение скрипта останавливается после диспетчеризации запроса со статусом кода 0 или 1 в соответствии с результатом диспетчеризации.
Параметры
- массив
$argsнеобязательно [] - argv из PHP
- boolean
$bootstrapнеобязательно true - Нужно ли инициализировать среду.
_bootstrap()source protected
_bootstrap( )
Инициализирует среду и загружает ядро CakePHP.
Возвращает
booleanУспех.
_createShell()source protected
_createShell( string $className , string $shortName )
Создаёт указанную оболочку и устанавливает свойство плагина
Параметры
- строка
$className - Имя класса для инстанцирования
- строка
$shortName - Имя оболочки с префиксом плагина
Возвращает
Cake\Console\ShellИнстанция оболочки.
_dispatch()source protected
_dispatch( array $extra = [] )
Диспетчеризация запроса.
Параметры
- массив
$extraнеобязательно [] Дополнительные параметры, которые можно вручную передать оболочке для диспетчеризации. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения оболочки
Возвращает
boolean|integer|nullВыбрасывает
Cake\Console\Exception\MissingShellMethodException_handleAlias()source protected
_handleAlias( string $shell )
Если вход соответствует псевдониму, возвращает имя оболочки с псевдонимом
Параметры
- строка
$shell - Необязательно, имя плагина или псевдонима
Возвращает
строкаИмя оболочки с префиксом плагина
_initEnvironment()source protected
_initEnvironment( )
Определяет текущую рабочую среду.
Выбрасывает
Cake\Core\Exception\Exception_shellExists()source protected
_shellExists( string $shell )
Проверка существования класса оболочки для данного имени.
Параметры
- строка
$shell - Имя оболочки для поиска.
Возвращает
строка|booleanИмя класса или false.
addShortPluginAliases()source public
addShortPluginAliases( )
Для всех загруженных плагинов добавляет короткий псевдоним
Это позволяет получить доступ к плагину, который реализует оболочку с тем же именем, используя только имя оболочки
Возвращает
массиврезультирующий список псевдонимов
alias()source public static
alias( string $short , string|null $original = null )
Добавить псевдоним для команды оболочки.
Псевдонимы позволяют вызывать оболочки по альтернативным именам. Это наиболее полезно при работе с оболочками плагинов, для которых вы хотите иметь более короткие имена.
Если вы повторно используете псевдоним, последний установленный псевдоним будет доступен.
Использование
Создание псевдонима для оболочки с именем ClassName:
$this->alias('alias', 'ClassName'); Получение исходного имени для заданного псевдонима:
$this->alias('alias'); Параметры
- строка
$short - Новое короткое имя оболочки.
- строка|null
$originalнеобязательно null - Исходное полное имя оболочки.
Возвращает
строка|falseИмя алиасового класса или false, если псевдоним не существует
dispatch()source public
dispatch( array $extra = [] )
Диспетчеризация запроса CLI
Преобразует результат команды оболочки в код выхода. Null/True рассматриваются как успех. Все другие возвращаемые значения являются ошибкой.
Параметры
- массив
$extraнеобязательно [] Дополнительные параметры, которые можно вручную передать оболочке для диспетчеризации. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения оболочки
Возвращает
целое числоКод выхода команды cli. 0 — успех.
findShell()source public
findShell( string $shell )
Получить оболочку для использования, либо оболочку плагина, либо оболочку приложения
Все пути в загруженных путях оболочки проверяются, обрабатывается дериференциация псевдонимов
Параметры
- строка
$shell - Необязательно, имя плагина
Возвращает
Cake\Console\ShellИнстанция оболочки.
Выбрасывает
Cake\Console\Exception\MissingShellExceptionв случае возникновения ошибок.
help()source public
help( )
Отображает справку консоли. Выполняет внутреннюю передачу в Shell CommandList.
run()source public static
run( array $argv , array $extra = [] )
Запустить диспетчер
Параметры
- массив
$argv - argv из PHP
- массив
$extraнеобязательно [] - Дополнительные параметры
Возвращаемое значение
целое числоКод завершения процесса оболочки.
shiftArgs()source public
shiftArgs( )
Удаляет первый аргумент и сдвигает остальные аргументы вверх
Возвращаемое значение
смешанный типNull, если аргументов нет, иначе сдвинутый аргумент
version()source public
version( )
Выводит текущую установленную версию CakePHP. Выполняет внутреннюю передачу в CommandList Shell
Подробности свойств
© 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/3.8/class-Cake.Console.ShellDispatcher.html