CakeFest 2024: The Official CakePHP Conference

ReflectionType::__toString

(PHP 7, PHP 8)

ReflectionType::__toStringTo string

Description

public ReflectionType::__toString(): string

Gets the parameter type name.

Parameters

This function has no parameters.

Return Values

Returns the type of the parameter.

Changelog

Version Description
8.0.0 ReflectionType::__toString() has been undeprecated.
7.1.0 ReflectionType::__toString() has been deprecated.

Examples

Example #1 ReflectionType::__toString() example

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

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

echo
$reflectionParam->getType();

The above example will output something similar to:

string

See Also

add a note

User Contributed Notes 1 note

up
10
Anonymous
3 years 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