getType(); // 没有声明类型或为基本类型 if (!$type instanceof ReflectionNamedType || $type->isBuiltin()) { return null; } // 获取类名 $class_name = $type->getName(); // 如果存在父类 if (!is_null($class = $parameter->getDeclaringClass())) { if ($class_name === 'self') { return $class->getName(); } if ($class_name === 'parent' && $parent = $class->getParentClass()) { return $parent->getName(); } } return $class_name; } }