如何在Symfony控制台中添加新的命令行选项

克里斯托弗·托马斯

我不是Symfony的专家,我需要--country=XX在symfony控制台中添加一个新的控制台选项

此心不是一个命令,它的一个选项,其改变如何任何命令运行时,通过选择不同的数据库执行以通过构建doctrine.dbal.dbname参数如操作上api_frapi_deapi_es等。

我试图寻找一种方法来执行此操作,但是不幸的是,所有事情都回到了添加命令上,这不是我想要做的,我想添加一个选项。

我正在构建一个API,该API的一部分可与Symfony 2.8一起使用,另一部分正在使用Symfony3.x。我想答案在两个版本中可能是相同的,但是如果您知道两个版本中的操作方法又是分开的,请告诉我。

您可以添加一个EventListener,例如:

use Symfony\Component\Console\Input\InputOption;

class YourOptionEventListener
{
    public function onConsoleCommand(ConsoleCommandEvent $event)
    {
        $inputDefinition = $event->getCommand()->getApplication()->getDefinition();

        // add the option to the application's input definition
        $inputDefinition->addOption(
            new InputOption('yourOption', null, InputOption::VALUE_OPTIONAL, 'Description of the option', null)
        );
    }
}

然后将其添加为服务:

<?xml version="1.0" ?>
<container ...>
    <services>
        <service id="app_yourOption.console_event_listener"
                 class="App\YourOptionBundle\EventListener\YourOptionEventListener">
            <tag name="kernel.event_listener" event="console.command" method="onConsoleCommand" />
        </service>
    </services>
</container>

您可以检查此文档,在“添加全局命令选项”一章中,你可以找到你所需要的:http://php-and-symfony.matthiasnoback.nl/2013/11/symfony2-add-a-global-option到控制台命令并生成pid文件/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 linux 终端控制台中运行 python 脚本并继续使用命令行?

Rstudio控制台中的命令行错误

在 Web 控制台中工作时,oc rollout 从命令行失败。如何调查?

如何在vs2017的软件包管理器控制台中编写安装软件包的命令行

如何防止qmake在链接器命令行上添加控制台子系统?

调用 CreateProcess() 时如何在控制台上隐藏命令行字符串?

如何在Google Chrome浏览器中添加启动选项/命令行选项

如何切换到命令行控制台

在 PowerShell 控制台中为本地命令行应用程序的输出日志着色

浏览器控制台中没有命令行解释器

如何在Symfony控制台中解释HTML标签?

如何在服务器命令行中打开新选项卡?

如何在 Windows 命令行中使用选项

如何在命令行中控制pavucontrol?

如何在命令行中控制均衡器?

为什么在Python控制台中对SparkSession.builder..getOrCreate()的调用被视为命令行Spark-Submit?

向我的Winforms应用程序添加命令行支持时,使用相同的EXE文件或添加新的控制台应用程序项目更好吗?

如何在Symfony控制台命令中添加填充?

如何使Windows窗体将命令传递到控制台/命令行?

如何在命令行中创建新的“文件类型”?

如何在命令行上解决此新错误?

如何在 Ubuntu 中创建新的命令行标志

如何在buildbot的shell命令行中添加“ &&”?

如何在OMNET ++中添加专门的命令行参数?

如何在控制台中编写的每个命令之前或之后运行命令?

如何在控制台中调试jQuery?

如何在控制台中查看DDLogVerbose()

如何在控制台中调查异常?

如何在控制台中禁用 CapsLock?