Класс CommandRunner
Выполнение команд CLI для предоставленного приложения.
- Cake\Console\CommandRunner реализует Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait
Краткое описание свойств
-
$aliasesprotectedСопоставления псевдонимов.array - Приложение, для которого выполняются командные файлы консоли.
$appprotected - Приложение, для которого выполняются командные файлы консоли.
$factoryprotected -
$rootprotectedНазвание корневой команды. По умолчаниюstringcake.
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- bootstrap() protectedОбёртка загрузки приложения.
- Проверка созданной CommandCollection
- createShell() protectedОбёртка для создания экземпляров оболочки.
- Получение/установка менеджера событий приложения.
- getEventManager() publicПолучение менеджера событий приложения или глобального менеджера.
- getShell() protectedПолучение экземпляра оболочки для заданного имени команды
- loadRoutes() protectedУбедитесь, что маршруты приложения загружены.
- longestCommandName() protectedПостроение самого длинного имени команды, которое существует в коллекции
- resolveName() protectedРазрешение имени команды на имя, которое существует в коллекции.
- run() publicЗапуск команды, содержащейся в $argv.
- runCommand() protectedВыполнение класса команды.
- runShell() protectedВыполнение класса оболочки.
- setAliases() publicЗамена всего отображения псевдонимов для исполнителя.
- setEventManager() publicПолучение/установка менеджера событий приложения.
Подробное описание методов
__construct()source public
__construct( Cake\Core\ConsoleApplicationInterface $app , string $root = 'cake' , Cake\Console\CommandFactoryInterface $factory = null )
Конструктор
Параметры
-
Cake\Core\ConsoleApplicationInterface$app - Приложение для выполнения команд CLI.
- строка
$rootнеобязательно 'cake' - Название корневой команды, которое нужно удалить из argv.
-
Cake\Console\CommandFactoryInterface$factoryнеобязательно null - Экземпляр фабрики команд.
bootstrap()source protected
bootstrap( )
Обёртка загрузки приложения.
Вызывает bootstrap() и events(), если приложение реализует EventApplicationInterface. После загрузки приложения и подключения событий, плагины загружаются и подключаются к ним события.
checkCollection()source protected deprecated
checkCollection( mixed $commands , string $method )
Проверка созданной CommandCollection
Устарело
3.6.0 Этот метод должен быть заменён на возвращаемые типы в 4.xПараметры
- смешанный
$commands - CommandCollection для проверки, хотя это может быть что угодно.
- строка
$method - Метод, который использовался.
Выбрасывает
RuntimeExceptioncreateShell()source protected
createShell( string $className , Cake\Console\ConsoleIo $io )
Обёртка для создания экземпляров оболочки.
Параметры
- строка
$className - Имя класса оболочки.
-
Cake\Console\ConsoleIo$io - Обёртка ввода/вывода для созданного класса оболочки.
Возвращает
Cake\Console\Shell|Cake\Console\CommandeventManager()source public deprecated
eventManager( Cake\Event\EventManager $events = null )
Получение/установка менеджера событий приложения.
Если приложение не поддерживает события, и этот метод используется в качестве установщика, будет возбуждено исключение.
Устарело
3.6.0 Будет удалено в 4.0Параметры
-
Cake\Event\EventManager$eventsнеобязательно null - Менеджер событий для установки.
Возвращает
Cake\Event\EventManager|Cake\Console\CommandRunner$this
Реализация
Cake\Event\EventDispatcherInterface::eventManager() getEventManager()source public
getEventManager( )
Получение менеджера событий приложения или глобального менеджера.
Возвращает
Cake\Event\EventManagerInterfacegetShell()source protected
getShell( Cake\Console\ConsoleIo $io , Cake\Console\CommandCollection $commands , string $name )
Получение экземпляра оболочки для заданного имени команды
Параметры
-
Cake\Console\ConsoleIo$io - Обёртка ввода/вывода для созданного класса оболочки.
-
Cake\Console\CommandCollection$commands - Коллекция команд для поиска оболочки в ней.
- строка
$name - Имя команды для поиска
Возвращает
Cake\Console\Shell|Cake\Console\CommandloadRoutes()source protected
loadRoutes( )
Убедитесь, что маршруты приложения загружены.
Команды консоли и оболочки часто нуждаются в генерации URL.
longestCommandName()source protected
longestCommandName( Cake\Console\CommandCollection $commands , array $argv )
Построение самого длинного имени команды, которое существует в коллекции
Построение самого длинного имени команды, которое соответствует определённой команде. Это будет проходить по максимуму 3 токенам.
Параметры
-
Cake\Console\CommandCollection$commands - Коллекция команд для проверки.
- массив
$argv - Аргументы командной строки.
Возвращает
массивМассив разрешённого имени и изменённого argv.
resolveName()source protected
resolveName( Cake\Console\CommandCollection $commands , Cake\Console\ConsoleIo $io , string $name )
Разрешение имени команды на имя, которое существует в коллекции.
Применение обратной совместимости с наклонами и псевдонимами. Будет переходить вперёд до 3 токенов в $argv для генерации имени команды в CommandCollection. Более конкретные имена команд имеют приоритет над менее конкретными.
Параметры
-
Cake\Console\CommandCollection$commands - Коллекция команд для проверки.
-
Cake\Console\ConsoleIo$io - Объект ConsoleIo для ошибок.
- строка
$name - Имя
Возвращает
строкаРазрешённое имя класса
run()source public
run( array $argv , Cake\Console\ConsoleIo $io = null )
Выполнить команду, содержащуюся в $argv.
Используйте приложение для следующих действий:
- Инициализировать приложение
- Создать CommandCollection, используя метод console() приложения.
- Запустить событие
Console.buildCommandsавтоматической подгрузки плагинов. - Выполнить запрошенную команду.
Параметры
- массив
$argv - Аргументы из среды командной строки.
-
Cake\Console\ConsoleIo$ioдополнительно null - Экземпляр ConsoleIo. Используется в основном для тестирования.
Возвращаемое значение
целое числоКод завершения команды.
Исключения
RuntimeExceptionrunCommand()source protected
runCommand( Cake\Console\Command $command , array $argv , Cake\Console\ConsoleIo $io )
Выполнить класс Command.
Параметры
-
Cake\Console\Command$command - Команда для выполнения.
- массив
$argv - Аргументы командной строки для вызова.
-
Cake\Console\ConsoleIo$io - объект консольного ввода-вывода
Возвращаемое значение
целое числоКод завершения
runShell()source protected
runShell( Cake\Console\Shell $shell , array $argv )
Выполнить класс Shell.
Параметры
-
Cake\Console\Shell$shell - Выполняемая оболочка.
- массив
$argv - Аргументы командной строки для вызова.
Возвращаемое значение
целое числоКод завершения
setAliases()source public
setAliases( array $aliases )
Заменить весь массив псевдонимов для исполнителя.
Псевдонимы позволяют определять альтернативные имена для команд в коллекции. Это может быть полезно для добавления верхних переключателей, таких как --version или -h
Использование
$runner->setAliases(['--version' => 'version']);
Параметры
- массив
$aliases - Карта псевдонимов для замены.
Возвращаемое значение
$this
setEventManager()source public
setEventManager( Cake\Event\EventManager $events )
Получить/установить диспетчер событий приложения.
Если приложение не поддерживает события, и этот метод используется в качестве установщика, будет выброшено исключение.
Параметры
-
Cake\Event\EventManager$events - Диспетчер событий для установки.
Возвращаемое значение
$this
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data = null , object|null $subject = null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataдополнительно null Любое значение, которое вы хотите передать вместе с этим событием, его можно будет прочитать слушателями.
- объект|null
$subjectдополнительно null Объект, к которому относится это событие ($this по умолчанию).
Возвращаемое значение
Cake\Event\EventМагические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробности свойств
$appsource
protected Cake\Core\ConsoleApplicationInterface
Приложение, для которого выполняются командные файлы консоли.
$factorysource
protected Cake\Console\CommandFactoryInterface
Приложение, для которого выполняются командные файлы консоли.
© 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.CommandRunner.html