目标是允许将任何选项传递给symfony CLI,而不是限制为一组已定义的允许选项。
例如:
php console.php --foo=bar
在此示例中,foo
是symfony应用程序未明确允许的选项。
我的控制台应用程序通过许多CLI选项代理到不同的应用程序。我不想手动镜像每个可用选项,以使它们可用于symfony应用程序。
答案 0 :(得分:0)
为什么不简单地创建自己的控制台命令(参见Symfony doc如何操作)并使用其输入选项或参数来交付它?
修改强>
进一步明确我的意思:不要使用自定义选项,而是使用自定义输入参数,如:
$this
// ...
->addArgument(
'options',
InputArgument::IS_ARRAY | InputArgument::REQUIRED,
'Please provide options separated by space'
);
让用户使用mycompany之类的命令:command opt1 = val1 opt2 = valx(而不是mycompany:command --opt1 = val1 --opt2 = valx,你必须确定opt1和opt2)
读取数组,将值拆分为' ='并以他们要求的方式将它们交给你的第三方。由于opt1和opt2是动态的,人们可以输入他喜欢的任何东西。
我没有测试这种方法,但我不知道为什么这不起作用。