Класс CommandRunner
Выполнить команды CLI для предоставленного приложения.
Краткое описание свойств
- $_eventClass protected
stringИмя по умолчанию класса для новых объектов событий.
- $_eventManager protected
Cake\Event\EventManagerInterface|nullЭкземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
- $aliases protected
array<string>Сопоставления псевдонимов.
- $app protected
Cake\Core\ConsoleApplicationInterfaceПриложение, для которого выполняются командные консольные команды.
- $factory protected
Cake\Console\CommandFactoryInterface|nullПриложение, для которого выполняются командные консольные команды.
- $root protected
stringИмя корневой команды. По умолчанию
cake.
Краткое описание методов
-
__construct() public
Конструктор
-
bootstrap() protected
Обёртка запуска приложения.
-
createCommand() protected
Обёртка для создания экземпляров оболочек.
-
dispatchEvent() public
Обёртка для создания и отправки событий.
-
getCommand() protected
Получить экземпляр оболочки для заданного имени команды
-
getEventManager() public
Получить менеджер событий приложения или глобальный менеджер.
-
loadRoutes() protected
Убедиться, что маршруты приложения загружены.
-
longestCommandName() protected
Построение самого длинного имени команды, которое существует в коллекции
-
resolveName() protected
Разрешить имя команды в имя, которое существует в коллекции.
-
run() public
Выполнить команду, содержащуюся в $argv.
-
runCommand() protected
Выполнить класс команды.
-
runShell() protected
Выполнить класс оболочки.
-
setAliases() public
Заменить весь массив псевдонимов для исполнителя.
-
setEventManager() public
Получить/установить менеджер событий приложения.
Подробное описание методов
__construct() public
__construct(Cake\Core\ConsoleApplicationInterface $app, string $root = 'cake', Cake\Console\CommandFactoryInterface|null $factory = null)
Конструктор
Параметры
-
Cake\Core\ConsoleApplicationInterface$app Приложение, для которого выполняются команды CLI.
-
string$root необязательный Имя корневой команды, которое должно быть удалено из argv.
-
Cake\Console\CommandFactoryInterface|null$factory необязательный Экземпляр фабрики команд.
bootstrap() protected
bootstrap(): void
Обёртка для инициализации приложения.
Вызывает bootstrap() хук приложения. После приложения подключаются плагины.
Возвращает
voidcreateCommand() protected
createCommand(string $className, Cake\Console\ConsoleIo $io): Cake\Console\CommandInterfaceCake\Console\Shell
Обёртка для создания экземпляров оболочки.
Параметры
-
string$className Имя класса оболочки.
-
Cake\Console\ConsoleIo$io Обёртка ввода-вывода для созданного класса оболочки.
Возвращает
Cake\Console\CommandInterfaceCake\Console\ShelldispatchEvent() public
dispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\EventInterface
Обёртка для создания и отправки событий.
Возвращает обработанное событие.
Параметры
-
string$name Имя события.
-
array|null$data необязательный Любое значение, которое вы хотите передать вместе с этим событием, его могут прочитать слушатели.
-
object|null$subject необязательный Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventInterfacegetCommand() protected
getCommand(Cake\Console\ConsoleIo $io, Cake\Console\CommandCollection $commands, string $name): Cake\Console\CommandInterfaceCake\Console\Shell
Получить экземпляр оболочки для заданного имени команды
Параметры
-
Cake\Console\ConsoleIo$io Обёртка ввода-вывода для созданного класса оболочки.
-
Cake\Console\CommandCollection$commands Коллекция команд для поиска оболочки в ней.
-
string$name Имя команды для поиска
Возвращает
Cake\Console\CommandInterfaceCake\Console\ShellgetEventManager() public
getEventManager(): Cake\Event\EventManagerInterface
Получить менеджер событий приложения или глобальный.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать свои собственные события и запускать их по своему желанию.
Возвращает
Cake\Event\EventManagerInterfaceloadRoutes() protected
loadRoutes(): void
Убедиться, что маршруты приложения загружены.
Команды консоли и оболочки часто должны генерировать URL-адреса.
Возвращает
voidlongestCommandName() protected
longestCommandName(Cake\Console\CommandCollection $commands, array $argv): array
Построить самое длинное имя команды, которое существует в коллекции
Построить самое длинное имя команды, которое соответствует определенной команде. Это будет проходить не более чем по 3 токенам.
Параметры
-
Cake\Console\CommandCollection$commands Коллекция команд для проверки.
-
array$argv Аргументы CLI.
Возвращает
arrayresolveName() protected
resolveName(Cake\Console\CommandCollection $commands, Cake\Console\ConsoleIo $io, string|null $name): string
Преобразовать имя команды в имя, которое существует в коллекции.
Применить обратные совместимые изменения и псевдонимы. Будет проходить до 3 токенов в $argv для генерации имени команды в CommandCollection. Более конкретные имена команд имеют приоритет над менее конкретными.
Параметры
-
Cake\Console\CommandCollection$commands Коллекция команд для проверки.
-
Cake\Console\ConsoleIo$io Объект ConsoleIo для ошибок.
-
string|null$name Имя из аргументов CLI.
Возвращает
stringИсключения
Cake\Console\Exception\MissingOptionExceptionrun() public
run(array $argv, Cake\Console\ConsoleIo|null $io = null): int
Запустить команду, содержащуюся в $argv.
Используйте приложение для выполнения следующих действий:
- Инициализировать приложение
- Создать CommandCollection, используя хук console() в приложении.
- Запустить событие
Console.buildCommandsавтоматической подгрузки плагинов. - Запустить запрошенную команду.
Параметры
-
array$argv Аргументы из среды CLI.
-
Cake\Console\ConsoleIo|null$io необязательный Экземпляр ConsoleIo. Используется в основном для тестирования.
Возвращает
intИсключения
RuntimeExceptionrunCommand() protected
runCommand(Cake\Console\CommandInterface $command, array $argv, Cake\Console\ConsoleIo $io): int|null
Выполнить класс Command.
Параметры
-
Cake\Console\CommandInterface$command Команда для выполнения.
-
array$argv Аргументы CLI для вызова.
-
Cake\Console\ConsoleIo$io Обёртка ввода-вывода консоли
Возвращает
int|nullrunShell() protected
runShell(Cake\Console\Shell $shell, array $argv): int|bool|null
Выполнить класс Shell.
Параметры
-
Cake\Console\Shell$shell Оболочка для выполнения.
-
array$argv Аргументы CLI для вызова.
Возвращает
int|bool|nullsetAliases() public
setAliases(array<string> $aliases): $this
Заменить весь набор псевдонимов для исполнителя.
Псевдонимы позволяют определить альтернативные имена для команд в коллекции. Это может быть полезно для добавления верхнеуровневых переключателей, таких как --version или -h.
Использование
$runner->setAliases(['--version' => 'version']);
Параметры
-
array<string>$aliases Карта псевдонимов для замены.
Возвращает
$thissetEventManager() public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
Получить/установить менеджер событий приложения.
Если приложение не поддерживает события, и этот метод используется как установщик, будет выброшено исключение.
Параметры
-
Cake\Event\EventManagerInterface$eventManager Менеджер событий для установки.
Возвращает
$thisИсключения
InvalidArgumentExceptionПодробное описание свойств
$_eventClass protected
Имя класса по умолчанию для новых объектов события.
Тип
string$_eventManager protected
Экземпляр Cake\Event\EventManager, который используется этим объектом для отправки внутренних событий.
Тип
Cake\Event\EventManagerInterface|null$aliases protected
Сопоставления псевдонимов.
Тип
array<string>$app protected
Приложение, для которого выполняются команды консоли.
Тип
Cake\Core\ConsoleApplicationInterface$factory protected
Приложение, для которого выполняются команды консоли.
Тип
Cake\Console\CommandFactoryInterface|null$root protected
Имя корневой команды. По умолчанию cake.
Тип
string
© 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.4/class-Cake.Console.CommandRunner.html