Использование конспольных команд, ярлыков и встроенных команд

Дата обновления перевода 2024-06-28

Использование конспольных команд, ярлыков и встроенных команд

В дополнение к опциям, которые вы указываете для ваших команд, существуют ещё встроенные опции, а также несколько встроенных команд для компонента Console.

Note

Эти примеры предполагают, что вы добавили файл application.php для запуска в cli:

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env php
<?php
// application.php

require __DIR__.'/vendor/autoload.php';

use Symfony\Component\Console\Application;

$application = new Application();
// ...
$application->run();

Встроенные команды

Суещствуется встроенная команда list, которая выводит все стандартные опции и зарегистрированные команды:

1
$ php application.php list

Вы также можете получить такой же вывод, не запуская никаких команд

1
$ php application.php

Команда помощи перечисляет информацию помощи для указанной команды. Например, чтобы получить помощь по команде list:

1
$ php application.php help list

Запуск help без указания команды перечислит глобальные опции:

1
$ php application.php help

Глобальные опции

Вы можете получить информацию помощи для любой команды с помощью опции --help. Чтобы получить помощь по команде list:

1
2
$ php application.php list --help
$ php application.php list -h

Вы можете подавить вывод с помощью:

1
2
$ php application.php list --quiet
$ php application.php list -q

Вы можете получить более детализированные сообщения (если это поддерживается командой) с помощью:

1
2
$ php application.php list --verbose
$ php application.php list -v

Чтобы вывести еще более детализированные сообщения, вы можете использовать эти опции:

1
2
$ php application.php list -vv
$ php application.php list -vvv

Если вы установите необязательные аргументы, чтобы дать вашему приложению имя и версию:

1
$application = new Application('Acme Console Application', '1.2');

То вы можете использовать:

1
2
$ php application.php list --version
$ php application.php list -V

Чтобы получить такой вывод информации:

1
Приложение Acme Console версия 1.2

Если вы не предоставите имени консоли, тогда будет выведено просто:

1
инструмент консоли

Вы можете формировать влкючение выделения цветом вывода ANSI с помощью:

1
$ php application.php list --ansi

Или выключить его с помощью:

1
$ php application.php list --no-ansi

Вы можете подавить любые интерактивные вопросы команды, которую вы запускаете, с помощью:

1
2
$ php application.php list --no-interaction
$ php application.php list -n

Синтаксис ярлыков

Вам не нужно печатать полные названия команд. Вы можете просто напечатать кратчайшее однозначное имя, чтобы запустить команды. Поэтому, если сталкивающихся команд нет,то вы можете запустить help таким образом:

1
$ php application.php h

Если у вас есть команды, использующие : в пространстве имён, то вам просто нужно напечатать кратчайший однозначный текст для каждой части. Если вы создали demo:greet так, как показано в Компонент Console, то вы можете запустить его с помощью:

1
2
3
4
5
6
$ php application.php d:g Fabien

# вы также можете смешивать верхний и нижний регистр при соблюдении однозначности
# php application.php Demo:g Fabien
# php application.php de:Gr Fabien
# php application.php DE:Gre Fabien

Если вы введёте короткую неоднозначную команду (т.е. существует более одной совпадающей команды), то не будет запущена ни одна команда и будут выведены несколько вариантов возможных команд на выбор.