Method ReflectionParameter::getClass() 替代
时间: 2024-02-24 21:57:56 浏览: 27
在 PHP 8.0 中,方法 `ReflectionParameter::getClass()` 已经被废弃并移除了,官方推荐使用方法 `ReflectionParameter::getType()` 作为替代。
方法 `ReflectionParameter::getType()` 返回的是参数的类型提示,如果参数没有类型提示,返回值为 null。
示例代码如下:
```php
class Foo {
public function bar(Baz $baz) {}
}
$reflectionMethod = new ReflectionMethod('Foo', 'bar');
$reflectionParameter = $reflectionMethod->getParameters()[0];
// PHP 7.x 以下版本使用 ReflectionParameter::getClass()
$class = $reflectionParameter->getClass();
if ($class) {
echo $class->name; // 输出 "Baz"
}
// PHP 7.x 及以上版本使用 ReflectionParameter::getType()
$type = $reflectionParameter->getType();
if ($type) {
echo $type->getName(); // 输出 "Baz"
}
```
需要注意的是,在 PHP 8.0 中,返回值为 null 的情况只有在参数没有类型提示时才会出现,如果参数类型为 `mixed`,返回值将为 `ReflectionNamedType` 对象。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)