了解控制台参数处理

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.7,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

了解控制台参数处理

很难理解参数由控制台应用程序的方式。Symf欧宝娱乐app下载地址ony控制台应用程序,就像许多其他CLI实用工具,遵循所描述的行为docopt标准。

看一看下面的命令,有三个选项:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30
名称空间Acme\控制台\命令;使用欧宝娱乐app下载地址\组件\控制台\命令\命令;使用欧宝娱乐app下载地址\组件\控制台\输入\InputArgument;使用欧宝娱乐app下载地址\组件\控制台\输入\InputDefinition;使用欧宝娱乐app下载地址\组件\控制台\输入\InputInterface;使用欧宝娱乐app下载地址\组件\控制台\输入\InputOption;使用欧宝娱乐app下载地址\组件\控制台\输出\OutputInterface;DemoArgsCommand扩展命令{受保护的函数配置(){美元- >setName (“演示:args”)- >setDescription (“描述参数的行为”)- >setDefinition (InputDefinition (数组(InputOption (“foo”,“f”),InputOption (“酒吧”,“b”,InputOption::VALUE_REQUIRED),InputOption (“猫”,“c”,InputOption::VALUE_OPTIONAL))));}受保护的函数执行(InputInterface美元输入,OutputInterface美元输出){/ /……}}

喷火选择不接受一个值,它将(当它不是传递给命令)真正的(当——foo是通过用户)。的值酒吧选项(及其b快捷方式)是必需的。它可以分开通过空间或选项的名称=字符。的选项(及其c快捷方式)的行为类似,除了它不需要一个值。看一看下面的表格来概述可能的方式通过选项:

输入 喷火 酒吧
——酒吧=你好 “你好”
——酒吧你好 “你好”
- b =你好 ”=你好”
- b你好 “你好”
-bHello “你好”
-fcWorld - b你好 真正的 “你好” “世界”
-cfWorld - b你好 “你好” “fWorld”
-cbWorld “bWorld”

事情变得有点棘手当命令还接受一个可选参数:

1 2 3 4 5 6
/ /……InputDefinition (数组(/ /……InputArgument (“参数”,InputArgument::可选)));

您可能需要使用特殊- - -分离器分离选项的参数。看看第五个例子在下表中,它是用来告诉的命令吗世界的值是参数的价值,而不是可选的选择:

输入 酒吧 参数
——酒吧你好 “你好”
Hello World——酒吧 “你好” “世界”
——酒吧“Hello World” “Hello World”
——酒吧喂猫的世界 “你好” “世界”
——酒吧你好——猫的世界 “你好” “世界”
- b - c你好世界 “你好” “世界”
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。