/** * @param IOption $option */ protected function detectEnvFromOption(IOption $option) { if ($this->getDebug() && $option->hasValue() && !$this->started) { $this->setEnvironment($option->getValue()); } }
/** * @param IOption $option * @param array $groupedArgs * @param bool $strict * * @return array * @throws MissingOptionValueException */ protected function matchRegularOption(IOption $option, array $groupedArgs, $strict) { $isRequired = $option->isRequired(); $hasValue = array_has($groupedArgs, $option->getNameOrAlias()) && count(array_get($groupedArgs, $option->getNameOrAlias())) > 0; if ($isRequired && !$hasValue && $strict) { throw new MissingOptionValueException(s('Missing option value "%s".', $option->getNameOrAlias())); } if (array_has($groupedArgs, $option->getNameOrAlias())) { $values = array_take($groupedArgs, $option->getNameOrAlias()); if ($option->isSingle()) { $option->setValue(array_pop($values)); } else { if ($option->isMultiple()) { $option->setValue($values); } } } return $groupedArgs; }