构建单个命令应用程序
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 4.1,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
构建单个命令应用程序
在构建命令行工具时,您可能不需要提供多个命令。在这种情况下,每次都必须传递命令名是很乏味的。幸运的是,可以通过声明一个命令应用程序来消除这种需求:
12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20
# !/usr/bin/env php<?php需要__DIR__.“/供应商/ autoload.php”;使用ob娱乐下载\组件\控制台\应用程序;使用ob娱乐下载\组件\控制台\输入\InputArgument;使用ob娱乐下载\组件\控制台\输入\InputInterface;使用ob娱乐下载\组件\控制台\输入\InputOption;使用ob娱乐下载\组件\控制台\输出\OutputInterface;(新应用程序(“回声”,“1.0.0”))->注册(“回声”)->addArgument (“foo”, InputArgument::可选的,“目录”)->使用addOption (“酒吧”,零, InputOption::VALUE_REQUIRED)->setCode (函数(InputInterface$输入, OutputInterface$输出){//输出参数和选项})->getApplication ()->setDefaultCommand (“回声”,真正的)//单个命令应用程序->run ();
该方法setDefaultCommand ()接受布尔值作为第二个参数。如果为true,则命令回声
将一直被使用,而不必传递它的名称。
你仍然可以像往常一样注册一个命令:
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 ();
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。