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
ただし、最初の 2 つのケースで$input->getOption()
は返されます。2番目のケースでは、またはオプションが提供されたことを示す何かNULL
が返されると予想していました。TRUE
したがって、オプションがまったく提供されていない場合と、提供されているが値がない場合の違いを識別する方法がわかりません。
違いを見分ける方法がない場合、ユースケースはInputOption::VALUE_OPTIONAL
何ですか?