PHP 8.4.0 RC4 available for testing

ReflectionNamedType::isBuiltin

(PHP 7, PHP 8)

ReflectionNamedType::isBuiltinVérifie si c'est un type intégré

Description

public ReflectionNamedType::isBuiltin(): bool

Vérifie si le type est un type intégré en PHP. Un type intégré est tout type qui n'est pas une classe, interface, ou trait.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

true si c'est un type intégré en PHP, sinon false

Exemples

Exemple #1 Exemple avec ReflectionNamedType::isBuiltin()

<?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());

L'exemple ci-dessus va afficher :

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

Notez que la méthode ReflectionNamedType::isBuiltin() ne distingue pas entre des classes internes et utilisateur. Pour faire cette distinction, la méthode ReflectionClass::isInternal() doit être utilisé sur le nom de classe retourné.

Voir aussi

add a note

User Contributed Notes 2 notes

up
9
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
up
2
yarns_purport0n at icloud dot com
2 years ago
built-in types () are:
- `array`
- `callable`
- `bool`
- `float`
- `int`
- `string`
- `iterable`
- `object`
- `mixed`

Note: tested from the list at https://php.net/language.types.declarations#language.types.declarations.base

`self` & `parent` are not included.
To Top