Symfony控制台输出

时间:2015-04-04 12:08:49

标签: symfony console-application

我正在编写我的第一个symfony控制台应用程序,我想问一个关于控制台输出的问题。

当我在控制台中运行新的CLI应用程序时,如:./testapp,然后我得到以下输出:

Usage:
 command [options] [arguments]

Options:
 --help (-h)           Display this help message
 --quiet (-q)          Do not output any message
 --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
 --version (-V)        Display this application version
 --ansi                Force ANSI output
 --no-ansi             Disable ANSI output
 --no-interaction (-n) Do not ask any interactive question

Available commands:
 help       Displays help for a command
 list       Lists commands

有没有办法删除此内容的显示?我只想要"可用命令"可见。是否可以在此显示中创建自己的组?

2 个答案:

答案 0 :(得分:1)

从Symfony 2.5开始,您可以更改默认命令(未指定命令名时执行的命令)。有关详细信息,请参阅:http://symfony.com/doc/current/components/console/changing_default_command.html

  

当没有传递命令名时,Console组件将始终运行ListCommand。要更改默认命令,您只需将命令名称传递给setDefaultCommand方法。

答案 1 :(得分:0)

(Symfony控制台4.1)

可以删除默认选项:

$options = $app->getDefinition()->getOptions();
unset($options['ansi']);
unset($options['no-interaction']);
unset($options['verbose']);
unset($options['help']);
unset($options['quiet']);
unset($options['version']);
unset($options['no-ansi']);
$app->getDefinition()->setOptions($options);

或者只是:

$app->getDefinition()->setOptions();

选项组将不会显示在list命令中。

尽管我不知道这是否有不良后果。