如何使用SymfonyStyle对象来获取选项


How to use a SymfonyStyle object to get options

根据:

http://symfony.com/blog/new-in-symfony-2-8-console-style-guide

…在命令中使用新的样式指南就像实例化一样简单类的$input和$output传递给它命令。…我们建议您将这个变量命名为$io,因为您需要将它用于输入和输出操作。…

SymfonyStyle实例可以用来处理输入和输出操作。

因此,不需要$input变量(InputInterface的实例)和$output变量(OutputInterface的实例),只需使用$io (SymfonyStyle的实例)来处理两种类型的操作

这很有用。

但是用于检索用户提交的选项的InputInterfacegetOption方法呢?

看起来$input->getOption(...)不能被$io->getOption(...)简单地替换,因为SymfonyStyle没有这个方法。

是否有一种方法来检索用户提交的选项,只需使用SymfonyStyle的实例?

似乎您只能使用askQuestion方法捕获SymfonyStyle类的交互式输入。对于传递给命令的参数/选项,您需要使用经典的方式。

在repo

上查看类源代码中$input变量的使用情况。

希望对您有所帮助