我想创建一个单一的 命名 symfony命令的参数/选项。并希望symfony区分这3个选项:
my:command
,这意味着什么 my:command --arg=null
my:command --arg
, 意思是 my:command --arg=defalutValue
my:command --arg=someValue
,这是完全明确的。
即我想在该命令下使用两种工作模式:默认值为1,非默认值为附加参数,该arg应具有默认值。
我明白,我可以创建2个args,但我正在寻找一个arg-to-rule-them-all解决方案。
是否可以通过内置类实现这一目标,还是应该创建自定义类?如果解决方案仅适用于自定义类,请告诉我,从哪里开始(即“创建...的子类”或“安装名为...的包”),因为我不熟悉Symfony2的架构。
有可能的:
->addOption('arg', 'a', InputOption::VALUE_NONE)
- 我的:command =>
$input->getOption('arg') //false
- 我的:命令--arg =>
$input->getOption('arg') //true
- 我的:命令--arg = 5 =>
$input->getOption('arg') //5
有可能的:
->addOption('arg', 'a', InputOption::VALUE_NONE)
- 我的:command =>
$input->getOption('arg') //false
- 我的:命令--arg =>
$input->getOption('arg') //true
- 我的:命令--arg = 5 =>
$input->getOption('arg') //5
corvax的回答是不正确的,不起作用。截至今天,你无法实现这一目标。
它甚至在控制台文档中说明: 使用命令选项。
另请参阅GitHub上的这些问题:
Symfony2有控制台组件,可以单独使用。你可以看到文档 这里。有关更多示例,您可以查看 实现 SensioGeneratorBundle。