【发布时间】:2016-09-09 08:04:45
【问题描述】:
使用 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 的用例是什么?
【问题讨论】:
标签: php symfony symfony-console