如何配置symfony/console接受动态选项列表?
也就是说 - 选项的名称在开发步骤中是未知的,因此我需要一个应用程序来接受所有内容并使用标准公开它$input->getOption.
任何机会都可以轻松完成(不会在百万个地方乱砍组件)?
我的尝试包括扩展ArgvInput和InputDefinition类,但由于各种原因(它们是客观的和symfony/console组件实现特定的)它们失败了.简而言之:前者需要多次调用解析; 后者 - 在多个地方实例化,所以我找不到合适的方法来注入它.
您可以创建自己的 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)