示例#1
0
 /**
  * @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;
 }