使用控制台命令、快捷方式和内置命令
除了为您的命令指定的选项外,还有一些内置选项以及控制台组件的几个内置命令。
注意
这些示例假设您已添加文件 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
help 命令列出指定命令的帮助信息。例如,要获取 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 3 4 5 6
# suppresses all output, including errors
$ php application.php list --silent
# suppresses all output except errors
$ php application.php list --quiet
$ php application.php list -q
7.2
--silent
选项在 Symfony 7.2 中引入。
您可以使用以下命令获取更详细的消息(如果命令支持此功能)
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 Application version 1.2
如果您不提供控制台名称,则只会输出
1
Console Tool
您可以使用以下命令强制启用 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
,如 控制台组件 中所示,那么您可以使用以下命令运行它
1 2 3 4 5 6
$ php application.php d:g Fabien
# as long as it's unambiguous, you can also mix upper and lower case
# php application.php Demo:g Fabien
# php application.php de:Gr Fabien
# php application.php DE:Gre Fabien
如果您输入的短命令是模棱两可的(即,有多个命令匹配),则不会运行任何命令,并且会输出一些可能的命令建议供您选择。
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可获得许可。