Exemplo n.º 1
0
 /**
  * Get a parameter value for a marshaled command.
  *
  * @param  string  $command
  * @param  \ArrayAccess  $source
  * @param  \ReflectionParameter  $parameter
  * @param  array  $extras
  * @return mixed
  */
 protected function getParameterValueForCommand($command, ArrayAccess $source, ReflectionParameter $parameter, array $extras = [])
 {
     if (array_key_exists($parameter->name, $extras)) {
         return $extras[$parameter->name];
     }
     if (isset($source[$parameter->name])) {
         return $source[$parameter->name];
     }
     if ($parameter->isDefaultValueAvailable()) {
         return $parameter->getDefaultValue();
     }
     MarshalException::whileMapping($command, $parameter);
 }
Exemplo n.º 2
0
 protected function getParameterValueForCommand($command, ArrayAccess $source, ReflectionParameter $parameter, array $extras = array())
 {
     $value = $this->extractValueFromExtras($parameter, $extras) ?: $this->extractValueFromSource($source, $parameter);
     if (is_null($value) && $parameter->isDefaultValueAvailable()) {
         $value = $parameter->getDefaultValue();
     } elseif (is_null($value)) {
         MarshalException::whileMapping($command, $parameter);
     }
     return $value;
 }