src/DdvUtil/Laravel/Proxy/Traits/Parameters.php
protected function init()
    {
        // 存储参数
        $this->getReflectionParameters();
        // 空参数
        foreach ($this->reflectionParameters as $index => $parameter) {
            // 判断参数是否存在参数
            if (!isset($this->parameters[$index])){
                // 填充参数 为 null
                $this->parameters[$index] = null;
                // 填充反射
                $this->nullParameterReflections[$index] = $parameter;
            }
        };
        /**
         * 遍历所有没有设置的参数
         * 把$this设置进去
         */
        $this->mapNullParameters(function (&$value, $name, $index, ReflectionParameter $parameter) {
            $className = $parameter->getClass();
            $isSet = false;
            if (!empty($className)) {
                if ($className->isInstance($this)) {
                    // 返回控制器
                    $value = $this;
                    $isSet = true;
                }
            }
            unset($value, $name, $index, $className, $parameter);
            return $isSet;
        });
    }
protected function init()
    {
        // 存储参数
        $this->getReflectionParameters();
        // 空参数
        foreach ($this->reflectionParameters as $index => $parameter) {
            // 判断参数是否存在参数
            if (!isset($this->parameters[$index])){
                // 填充参数 为 null
                $this->parameters[$index] = null;
                // 填充反射
                $this->nullParameterReflections[$index] = $parameter;
            }
        };
        /**
         * 遍历所有没有设置的参数
         * 把$this设置进去
         */
        $this->mapNullParameters(function (&$value, $name, $index, ReflectionParameter $parameter) {
            $className = $parameter->getClass();
            $isSet = false;
            if (!empty($className)) {
                if ($className->isInstance($this)) {
                    // 返回控制器
                    $value = $this;
                    $isSet = true;
                }
            }
            unset($value, $name, $index, $className, $parameter);
            return $isSet;
        });
    }
Notes:
User: yao
Date: 2018/9/18
Time: 15:49
@throws ReflectionException