支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
除了在命令中指定选项之外,Console组件还有一些内建选项,以及一些内建命令。
下面这些例子,均假设你已添加一个application.php
文件来运行cli:
1 2 3 4 5 6 7 8 9 | #!/usr/bin/env php
<?php
// application.php
use Symfony\Component\Console\Application;
$application = new Application();
// ...
$application->run(); |
使用内建命令list
,可以输出所有已注册的命令及其全部标准选项(options):
1 | $ php application.php list |
你也可得到相同输出却不运行任何命令:
1 | $ php application.php |
help命令列出特定命令的帮助信息。比如,要想得知list
命令的帮助细节:
1 | $ php application.php help list |
运行help
却不指定任何命令,将罗列出全局选项(global options):
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 |
你还可以得到更多冗余信息(verbose messages)(如果被该命令所支持的话):
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 |
如果你不提供console name,那么它将输出:
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 |
如果你在命令中有使用:
来进行namespace,那么你只需为每一部分键入快捷无冲突文本。如果你创建了一个demo:greet
命令,就像链接已失效的Console组件所展示的那样,那么你可以这样运行它:
1 | $ php application.php d:g Fabien |
若你键入的快捷命令文本含有歧义(比如,该文本匹配到一个以上的命令),就不会有命令被执行,但会显示出一些建议,告之可能的命令以方便你选择。
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。