构建一个命令程序

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.7,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址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\工具;使用欧宝娱乐app下载地址\组件\控制台\应用程序;使用欧宝娱乐app下载地址\组件\控制台\输入\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许可证。