PHP Conference Japan 2024

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