ReflectionNamedType::isBuiltin

(PHP 7, PHP 8)

ReflectionNamedType::isBuiltinChecks if it is a built-in type

Description

public ReflectionNamedType::isBuiltin(): bool

Checks if the type is a built-in type in PHP. A built-in type is any type that is not a class, interface, or trait.

Parameters

This function has no parameters.

Return Values

true if it's a built-in type, otherwise false

Examples

Example #1 ReflectionNamedType::isBuiltin() example

<?php
class SomeClass {}

function
someFunction(string $param, SomeClass $param2, stdClass $param3) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->getType()->isBuiltin());
var_dump($reflectionParams[1]->getType()->isBuiltin());
var_dump($reflectionParams[2]->getType()->isBuiltin());

The above example will output:

bool(true)
bool(false)
bool(false)

Note that the ReflectionNamedType::isBuiltin() method does not distinguish between internal and custom classes. To make this distinction, the ReflectionClass::isInternal() method should be used on the returned class name.

See Also

add a note add a note

User Contributed Notes 1 note

up
1
mndevel at gmail dot com
3 years ago
I couldn't find a list of what qualifies as a builtin. Here is what I have so far:
string
float
bool
int
iterable (Iterator reflects as type iterable)
mixed
array

These do not qualify as builtins:
Closure
Stringable
Generator
Traversable
Serializable
Throwable
IteratorAggregate
ArrayAccess
WeakReference
JsonSerializeable
To Top