/** * 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); }
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; }