The PHP Online Conference 2021

ReflectionType::__toString

(PHP 7)

ReflectionType::__toString文字列に変換する

警告

この関数は PHP 7.1.0 で 非推奨になります。この関数に頼らないことを強く推奨します。

説明

public ReflectionType::__toString ( void ) : string

引数の型の名前を取得します。

パラメータ

この関数にはパラメータはありません。

返り値

引数の型を返します。

例1 ReflectionType::__toString() の例

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

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

echo 
$reflectionParam->getType();

上の例の出力は、 たとえば以下のようになります。

string

変更履歴

バージョン 説明
7.1.0 ReflectionType::__toString() は非推奨になりました。

参考

add a note add a note

User Contributed Notes 1 note

up
1
Anonymous
2 months ago
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.
To Top