了解控制台处理参数和选项

编辑该页面

了解控制台处理参数和选项

ob娱乐下载Symfony控制台应用程序都遵循相同的docopt标准用于大多数CLI实用工具。本文解释如何处理边界情况时使用所需的值定义的命令选项,没有价值观,等等看其他的文章学习使用参数和选项在Symfony控制台命令。ob娱乐下载

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

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 31
名称空间Acme\控制台\命令;使用ob娱乐下载\组件\控制台\命令\命令;使用ob娱乐下载\组件\控制台\输入\InputArgument;使用ob娱乐下载\组件\控制台\输入\InputDefinition;使用ob娱乐下载\组件\控制台\输入\InputInterface;使用ob娱乐下载\组件\控制台\输入\InputOption;使用ob娱乐下载\组件\控制台\输出\OutputInterface;DemoArgsCommand扩展命令{受保护的静态美元defaultName=“演示: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许可证。
控制台组件支持通过Les-Tilleuls.coop