symfony/console组件的可变数量选项

zer*_*kms 6 php symfony

如何配置symfony/console接受动态选项列表?

也就是说 - 选项的名称在开发步骤中是未知的,因此我需要一个应用程序来接受所有内容并使用标准公开它$input->getOption.

任何机会都可以轻松完成(不会在百万个地方乱砍组件)?

我的尝试包括扩展ArgvInputInputDefinition类,但由于各种原因(它们是客观的和symfony/console组件实现特定的)它们失败了.简而言之:前者需要多次调用解析; 后者 - 在多个地方实例化,所以我找不到合适的方法来注入它.

xii*_*dea 5

您可以创建自己的 ArgvInput 以允许所有选项。

例如,您可以在此处查看ArgvInput 的略微修改版本

我只修改了行:178

并注释掉这些行:188-199

然后将您的版本 ArgvInput 的实例而不是默认的一个传递给

$input = new AcceptAllArgvInput();    
$kernel = new AppKernel($env, $debug);
$application = new Application($kernel);
$application->run($input);
Run Code Online (Sandbox Code Playgroud)