构建一个命令程序
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.3,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
构建一个命令程序
当构建一个命令行工具,你可能不需要提供多个命令。在这种情况下,不得不通过命令名每次都乏味。幸运的是,可以把这个需要通过扩展应用程序:
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
名称空间Acme\工具;使用ob娱乐下载\组件\控制台\应用程序;使用ob娱乐下载\组件\控制台\输入\InputInterface;类MyApplication扩展应用程序{/ * * *会根据输入命令的名称。* *@paramInputInterface美元* *输入输入接口@return字符串的命令名称* /受保护的函数getCommandName(InputInterface美元输入){/ /这应该返回命令的名称。返回“my_command”;}/ * * *得到默认的命令应该是可用的。* *@return数组的数组默认命令实例* /受保护的函数getDefaultCommands(){/ /保持核心默认命令HelpCommand/ /使用——help选项时使用美元defaultCommands=父::getDefaultCommands ();美元defaultCommands[]=新MyCommand ();返回美元defaultCommands;}/ * * *覆盖,这样应用程序不期望命令*名称第一个参数。* /公共函数getDefinition(){美元inputDefinition=父::getDefinition ();/ /清除正常的第一个参数,命令名美元inputDefinition- >setArguments ();返回美元inputDefinition;}}
当调用您的控制台脚本命令MyCommand
将始终使用,而无需通过它的名称。
你也可以简化你如何执行应用程序:
1 2 3 4 5 6 7 8
# !/usr/bin/env php< ? php/ / command.php使用Acme\工具\MyApplication;美元应用程序=新MyApplication ();美元应用程序- >run ();
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。