For those who stumble on notice about ReflectionType::__toString() beeing deprecated, use method ReflectionType::getName() instead which is not yet documented.
PHP - Manual: ReflectionType
2024-11-15
(PHP 7, PHP 8)
ReflectionType 类用于获取函数、类方法的参数或者返回值的类型。 反射扩展声明了以下子类型:
版本 | 说明 |
---|---|
8.0.0 | ReflectionType 修改为了抽象类,并且 ReflectionType::isBuiltin() 被移动到了 ReflectionNamedType::isBuiltin()。 |
For those who stumble on notice about ReflectionType::__toString() beeing deprecated, use method ReflectionType::getName() instead which is not yet documented.
Method ReflectionType::getName() does not exist. This may have been virtually true in the past but not anymore. It exists on ReflectionNamedType which used to be the only child class of ReflectionType. So you could have kind of relied on that.
But in PHP 8 there's also ReflectionUnionType which doesn't have the getName() method. So in order to support PHP 8, you need to support both ReflectionNamedType and ReflectionUnionType.
Known subclasses:
- ReflectionNamedType
- ReflectionUnionType