Класс CommandRunner
Выполняет команды CLI для указанного приложения.
- Cake\Console\CommandRunner реализует Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait
Краткое описание свойств
-
$aliasesprotectedСопоставления псевдонимов.array - Приложение, для которого выполняются командные файлы консоли.
$appprotected - Приложение, для которого выполняются командные файлы консоли.
$factoryprotected -
$rootprotectedИмя корневой команды. По умолчаниюstringcake.
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- bootstrap() protectedОбёртка для загрузки приложения.
- Проверка созданной коллекции команд
- 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 )
Проверка созданной коллекции команд
Устаревшее
3.6.0 Этот метод должен быть заменён на возвращаемые типы в 4.xПараметры
- mixed
$commands - Коллекция команд для проверки, может быть чем угодно.
- string
$method - Используемый метод.
Исключения
RuntimeExceptioncreateShell()source protected
createShell( string $className , Cake\Console\ConsoleIo $io )
Обёртка для создания экземпляров оболочек.
Параметры
- string
$className - Имя класса оболочки.
-
Cake\Console\ConsoleIo$io - Обёртка ввода/вывода для созданного класса оболочки.
Возвращает
Cake\Console\Shell|Cake\Console\CommandeventManager()source public deprecated
eventManager( Cake\Event\EventManager $events = null )
Получение/установка менеджера событий приложения.
Если приложение не поддерживает события и этот метод используется как setter, будет возбуждено исключение.
Устаревшее
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 - Коллекция команд для поиска оболочки в ней.
- string
$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 - Коллекция команд для проверки.
- array
$argv - Аргументы командной строки.
Возвращает
arrayМассив с решённым именем и изменённым 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 для ошибок.
- string
$name - Имя
Возвращаемое значение
stringРазрешенное имя класса
run()source public
run( array $argv , Cake\Console\ConsoleIo $io = null )
Выполнить команду, содержащуюся в $argv.
Используйте приложение для выполнения следующих действий:
- Инициализировать приложение
- Создать CommandCollection, используя метод console() приложения.
- Вызвать событие
Console.buildCommandsавтоматической подгрузки плагинов. - Выполнить запрошенную команду.
Параметры
- array
$argv - Аргументы из среды командной строки.
-
Cake\Console\ConsoleIo$iooptional null - Экземпляр ConsoleIo. Используется в основном для тестирования.
Возвращаемое значение
integerКод завершения команды.
Исключения
RuntimeExceptionrunCommand()source protected
runCommand( Cake\Console\Command $command , array $argv , Cake\Console\ConsoleIo $io )
Выполнить класс Command.
Параметры
-
Cake\Console\Command$command - Команда для выполнения.
- array
$argv - Аргументы командной строки для вызова.
-
Cake\Console\ConsoleIo$io - Объект console io
Возвращаемое значение
integerКод завершения
runShell()source protected
runShell( Cake\Console\Shell $shell , array $argv )
Выполнить класс Shell.
Параметры
-
Cake\Console\Shell$shell - Shell для выполнения.
- array
$argv - Аргументы командной строки для вызова.
Возвращаемое значение
integerКод завершения
setAliases()source public
setAliases( array $aliases )
Заменить весь список псевдонимов для исполнителя.
Псевдонимы позволяют определять альтернативные имена для команд в коллекции. Это может быть полезно для добавления глобальных переключателей, таких как --version или -h
Использование
$runner->setAliases(['--version' => 'version']);
Параметры
- array
$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 )
Оборачивающий метод для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- string
$name - Имя события.
- array|null
$dataoptional null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- object|null
$subjectoptional 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.7/class-Cake.Console.CommandRunner.html