ReflectionType::__toString

(PHP 7, PHP 8)

ReflectionType::__toStringTo string

Warning

本函数已自 PHP 7.1.0 起废弃。强烈建议不要使用本函数。

说明

public ReflectionType::__toString ( ) : string

Gets the parameter type name.

参数

此函数没有参数。

返回值

Returns the type of the parameter.

更新日志

版本 说明
7.1.0 ReflectionType::__toString() has been deprecated.

范例

Example #1 ReflectionType::__toString() example

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

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

echo 
$reflectionParam->getType();

以上例程的输出类似于:

string

参见

User Contributed Notes

Anonymous 26-Jul-2020 04:32
Regarding this method's deprecation:

ReflectionType::__toString() was first deprecated in PHP 7.1.0 alpha1.
The deprecation notice was removed in PHP 7.1.0 RC3, before being reinstated in PHP 7.4.0 alpha1.

Starting with PHP 7.1.0 beta 3, ReflectionParameter::getType() & ReflectionFunctionAbstract::getReturnType() return instances of ReflectionNamedType instead of ReflectionType.
The ReflectionNamedType class inherits from ReflectionType but provides an additional getName() method which can be used to retrieve the type hint.

Lastly, PHP 8.0.0 alpha1 introduced the concept of union types (see https://wiki.php.net/rfc/union_types_v2). As a result, ReflectionParameter::getType() & ReflectionFunctionAbstract::getReturnType() will now return either instances of ReflectionNamedType or ReflectionUnionType depending on the type hint, both of which are descendants of ReflectionType.