构建单个命令应用程序
编辑本页构建单个命令应用程序
在构建命令行工具时,您可能不需要提供多个命令。在这种情况下,每次都必须传递命令名是很乏味的。幸运的是,可以通过声明一个命令应用程序来消除这种需求:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#!/usr/bin/env php<?php需要__DIR__.“/供应商/ autoload.php”;使用ob娱乐下载\组件\控制台\输入\InputArgument;使用ob娱乐下载\组件\控制台\输入\InputInterface;使用ob娱乐下载\组件\控制台\输入\InputOption;使用ob娱乐下载\组件\控制台\输出\OutputInterface;使用ob娱乐下载\组件\控制台\SingleCommandApplication;(新SingleCommandApplication ())->setName (《我的超级命令》)/ /可选->setVersion (“1.0.0”)/ /可选->addArgument (“foo”, InputArgument::可选的,“目录”)->使用addOption (“酒吧”,零, InputOption::VALUE_REQUIRED)->setCode (函数(InputInterface$输入, OutputInterface$输出){//输出参数和选项})->run ();
你仍然可以像往常一样注册一个命令:
12 3 4 5 6 7 8 9 10 11 12 13 14
#!/usr/bin/env php<?php需要__DIR__.“/供应商/ autoload.php”;使用Acme\命令\DefaultCommand;使用ob娱乐下载\组件\控制台\应用程序;$应用程序=新应用程序(“回声”,“1.0.0”);$命令=新DefaultCommand ();$应用程序->add ($命令);$应用程序->setDefaultCommand ($命令->getName (),真正的);$应用程序->run ();
的setDefaultCommand ()方法接受布尔值作为第二个参数。如果为true,则命令回声
将一直被使用,而不必传递它的名称。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。