ReflectionType::__toString

(PHP 7, PHP 8)

ReflectionType::__toString转换为字符串

说明

public ReflectionType::__toString(): string

获取参数类型名称。

参数

此函数没有参数。

返回值

返回参数的类型。

变更日志

版本 说明
8.0.0 ReflectionType::__toString() 已恢复使用。
7.1.0 ReflectionType::__toString() 已弃用。

范例

范例 #1 ReflectionType::__toString() 范例

<?php
function someFunction(string $param) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParam = $reflectionFunc->getParameters()[0];

echo
$reflectionParam->getType();

以上范例将输出类似于以下内容

string

参见

添加备注

用户贡献的备注 1 个备注

10
匿名
4 年前
关于此方法的弃用

ReflectionType::__toString() 最初在 PHP 7.1.0 alpha1 中被弃用。
弃用通知在 PHP 7.1.0 RC3 中被移除,并在 PHP 7.4.0 alpha1 中被重新引入。

从 PHP 7.1.0 beta 3 开始,ReflectionParameter::getType() & ReflectionFunctionAbstract::getReturnType() 返回 ReflectionNamedType 的实例,而不是 ReflectionType。
ReflectionNamedType 类继承自 ReflectionType,但提供了一个额外的 getName() 方法,可用于检索类型提示。

最后,PHP 8.0.0 alpha1 引入了联合类型的概念(参见 https://wiki.php.net/rfc/union_types_v2)。因此,ReflectionParameter::getType() & ReflectionFunctionAbstract::getReturnType() 现在将根据类型提示返回 ReflectionNamedType 或 ReflectionUnionType 的实例,它们都是 ReflectionType 的子类。
To Top