Returns a command option by its long or short name.
public getCommandOption ( string $name, boolean $includeBase = true ) : |
||
$name | string | The long or short option name. |
$includeBase | boolean | Whether to include options in the base format in the search. |
return | The command option. |
/** * Returns a command option by its long or short name. * * @param string $name The long or short option name. * @param bool $includeBase Whether to include command options in the base * format in the search. * * @return CommandOption The command option. * * @throws NoSuchOptionException If the command option with the given name * does not not exist. */ public function getCommandOption($name, $includeBase = true) { Assert::string($name, 'The option name must be a string. Got: %s'); Assert::notEmpty($name, 'The option name must not be empty.'); Assert::boolean($includeBase, 'The parameter $includeBase must be a boolean. Got: %s'); if (isset($this->commandOptions[$name])) { return $this->commandOptions[$name]; } if (isset($this->commandOptionsByShortName[$name])) { return $this->commandOptionsByShortName[$name]; } if ($includeBase && $this->baseFormat) { return $this->baseFormat->getCommandOption($name); } throw NoSuchOptionException::forOptionName($name); }
/** * @expectedException \InvalidArgumentException */ public function testGetCommandOptionFailsIfIncludeBaseNoBoolean() { $format = new ArgsFormat(); $format->getCommandOption('argument', 1234); }