使用 Symfony3 控制台,我如何判断用户何时提供了一个选项,但没有提供值?与根本不提供选项相反?
以以下控制台配置为例。
<?php
class MyCommand extends \Symfony\Component\Console\Command\Command
{
// ...
protected function configure()
{
$this->setName('test')
->setDescription('update an existing operation.')
->addOption(
'option',
null,
InputOption::VALUE_OPTIONAL,
'The ID of the operation to update.'
);
}
}
命令帮助将选项说明为--option[=OPTION]
,因此我可以通过以下方式调用它。
bin/console test
bin/console test --option
bin/console test --option=foo
但是,$input->getOption()
将NULL
在前两种情况下返回。我希望在第二种情况下它会返回TRUE
,或者表明提供了选项的东西。
所以我不知道如何识别根本没有提供的选项和提供但没有价值的差异。
如果没有办法区分,用例是InputOption::VALUE_OPTIONAL
什么?