protected function argument(\ReflectionParameter $parameter)
    {
        try {
            $argument = $parameter->getDefaultValue();
        } catch (\ReflectionException $exception) {
            $class = $parameter->getClass();

            $exists = $parameter->getClass() !== null;

            $name = $exists ? $class->getName() : $parameter->getName();

            $argument = $this->value($name);
        }

        return $argument;
    }
protected function argument(\ReflectionParameter $parameter)
    {
        try {
            $argument = $parameter->getDefaultValue();
        } catch (\ReflectionException $exception) {
            $class = $parameter->getClass();

            $exists = $parameter->getClass() !== null;

            $name = $exists ? $class->getName() : $parameter->getName();

            $argument = $this->value($name);
        }

        return $argument;
    }
Returns an argument based on the given parameter.

@param  \ReflectionParameter $parameter
@return mixed|null