控制台输入(参数和选项)
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
控制台输入(参数和选项)
最有趣的部分命令的参数和选项,您可以提供。这些参数和选项允许您通过动态信息终端的命令。
使用命令参数
参数的字符串-用空格分开后命令名称本身。他们命令,可以是可选的还是必需的。例如,添加一个可选的last_name
参数,使的命令的名字
参数要求:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ /……使用ob娱乐下载\组件\控制台\输入\InputArgument;类GreetCommand扩展命令{/ /……受保护的函数配置(){美元这/ /……- >addArgument (“名字”,InputArgument::必需的,“你想问谁?”)- >addArgument (“last_name”,InputArgument::可选的,“你的姓吗?”);}}
现在,您已经访问last_name
命令参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ /……类GreetCommand扩展命令{/ /……受保护的函数执行(InputInterface美元输入,OutputInterface美元输出){美元文本=“嗨”。美元输入- >getArgument (“名字”);美元姓=美元输入- >getArgument (“last_name”)如果(美元姓){美元文本=。' '。美元姓;}美元输出- >writeln (美元文本。“!”);}}
命令,现在可以用于以下方面:
1 2 3 4 5
美元php应用程序/控制台应用程序:问候法比你好法!美元php应用程序/控制台应用程序:问候法效力嗨法比力量!
也可以让一个参数的值列表(假设您希望迎接你的朋友)。只有最后一个参数是一个列表:
1 2 3 4 5 6 7
美元这/ /……- >addArgument (“名字”,InputArgument::IS_ARRAY,“你想问候(单独的多个名称空间)?”);
使用这个,就指定你想要尽可能多的名字:
1
美元的php应用程序/控制台应用程序:法比瑞安Bernhard打招呼
您可以访问的名字
参数是一个数组:
1 2 3 4
美元的名字=美元输入- >getArgument (“名字”)如果(数(美元的名字)>0){美元文本=。' '.implode (”、“,美元的名字);}
有三个参数变量可以使用:
-
InputArgument:需要
- 这个论点是强制性的。不运行的命令如果论点并不提供;
-
InputArgument::可选
- 参数是可选的,因此可以省略;
-
InputArgument: IS_ARRAY
- 参数可以包含任意数量的值。出于这个原因,它必须使用的参数列表
您可以组合IS_ARRAY
与要求
和可选
是这样的:
1 2 3 4 5 6 7
美元这/ /……- >addArgument (“名字”,InputArgument::IS_ARRAY | InputArgument::必需的,“你想问候(单独的多个名称空间)?”);
使用命令选项
与参数,选项并不是命令(这意味着您可以指定任何顺序)和两个破折号(如指定。——大喊
)。选项是总是可选的,并且可以设置接受一个值(例如。- - - dir = src
)或仅仅是一个布尔标志(如没有价值。——大喊
)。
例如,添加一个新选项的命令可以被用来指定多少次连续消息应该打印:
1 2 3 4 5 6 7 8 9
美元这/ /……- >使用addOption (“迭代”,零,InputOption::VALUE_REQUIRED,的消息应该打印多少次?”,1);
接下来,使用这个命令打印消息多次:
1 2 3
为(美元我=0;美元我<美元输入- >getOption (“迭代”);美元我+ +){美元输出- >writeln (美元文本);}
现在,当您运行任务,您可以选择指定一个——迭代
国旗:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#没有提供——迭代,默认使用的是(1)美元php应用程序/控制台应用程序:问候法比你好法!$ php应用程序/控制台应用程序:迎接法——迭代= 5嗨法比你好法比你好法比你好法法比你好#选项的顺序并不重要美元php应用程序/控制台应用程序:问候法——迭代= 5美元大喊php应用程序/控制台应用程序:问候法——大喊——迭代= 5美元php应用程序/控制台应用程序:问候——大喊——迭代= 5法比安
提示
你也可以声明一个字母的快捷方式,你可以叫一个破折号,-我
:
1 2 3 4 5 6 7 8 9
美元这/ /……- >使用addOption (“迭代”,“我”,InputOption::VALUE_REQUIRED,的消息应该打印多少次?”,1);
有四个选项变量可以使用:
-
InputOption: VALUE_IS_ARRAY
-
这个选项接受多个值(如。
- - - dir = / foo - dir = /酒吧
); -
InputOption: VALUE_NONE
-
(如不接受输入的选项。
——大喊
); -
InputOption: VALUE_REQUIRED
-
这个值是必需的(如。
——迭代= 5
),选择本身仍然是可选的; -
InputOption: VALUE_OPTIONAL
-
此选项可能有也可能没有一个值(例如
——大喊
或——大声喊=
)。
您可以组合VALUE_IS_ARRAY
与VALUE_REQUIRED
或VALUE_OPTIONAL
是这样的:
1 2 3 4 5 6 7 8 9
美元这/ /……- >使用addOption (“颜色”,零,InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY,“你喜欢哪个颜色?”,数组(“蓝”,“红色”));
提示
没有禁止您创建一个命令的选项,选择接受一个值。然而,没有方法可以区分选择时没有使用价值(命令——语言
)或当它根本就没有使用(命令
)。在这两种情况下,选择将检索到的值零
。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。