ReflectionParameter::getType

(PHP 7, PHP 8)

ReflectionParameter::getTypeGets a parameter's type

Description

public ReflectionParameter::getType(): ?ReflectionType

Gets the associated type of a parameter.

Parameters

This function has no parameters.

Return Values

Returns a ReflectionType object if a parameter type is specified, null otherwise.

Examples

Example #1 ReflectionParameter::getType() Usage as of PHP 7.1.0

As of PHP 7.1.0, ReflectionType::__toString() is deprecated, and ReflectionParameter::getType() may return an instance of ReflectionNamedType. To get the name of the parameter type, ReflectionNamedType() is available in this case.

<?php
function someFunction(int $param$param2) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams $reflectionFunc->getParameters();
$reflectionType1 $reflectionParams[0]->getType();
$reflectionType2 $reflectionParams[1]->getType();

assert($reflectionType1 instanceof ReflectionNamedType);
echo 
$reflectionType1->getName(), PHP_EOL;
var_dump($reflectionType2);
?>

The above example will output:

int
NULL

Example #2 ReflectionParameter::getType() Usage before PHP 7.1.0

<?php
function someFunction(int $param$param2) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams $reflectionFunc->getParameters();
$reflectionType1 $reflectionParams[0]->getType();
$reflectionType2 $reflectionParams[1]->getType();

echo 
$reflectionType1PHP_EOL;
var_dump($reflectionType2);
?>

Output of the above example in PHP 7.0:

int
NULL

Example #3 ReflectionParameter::getType() Usage in PHP 8.0.0 and later

As of PHP 8.0.0, this method may return a ReflectionNamedType instance or a ReflectionUnionType instance. The latter is a collection of the former. To analyze a type, it is often convenient to normalize it to an array of ReflectionNamedType objects. The following function will return an array of 0 or more ReflectionNamedType instances.

<?php
function getAllTypes(ReflectionParameter $reflectionParameter): array
{
    
$reflectionType $reflectionParameter->getType();

    if (!
$reflectionType) return [];

    return 
$reflectionType instanceof ReflectionUnionType
        
$reflectionType->getTypes()
        : [
$reflectionType];
}
?>

See Also

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe
There are no comments available yet.

Midjourney Tutorial - Instructions for beginners

There is an informative video about Midjourney, the tool for creating digital images using artificial intelligence, entitled "Midjourney tutorial in German - instructions for beginners" ...

Mike94

Autor : Mike94
Category: KI Tutorials

Basics of views in MySQL

Views in a MySQL database offer the option of creating a virtual table based on the result of an SQL query. This virtual table can be queried like a normal table without changing the underlying data. ...

admin

Autor : admin
Category: mySQL-Tutorials

Definition of stored procedures - an introduction

Stored procedures are predefined SQL code blocks that are stored in a database and can be called up as required. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Category: mySQL-Tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial