ReflectionNamedType::isBuiltin

(PHP 7, PHP 8)

ReflectionNamedType::isBuiltinVerifica se é um tipo interno

Descrição

public ReflectionNamedType::isBuiltin(): bool

Verifica se o tipo é um tipo interno no PHP. Um tipo interno é qualquer tipo que não é uma classe, interface ou trait.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se for um tipo interno, caso contrário false

Exemplos

Exemplo #1 Exemplo de 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());

O exemplo acima produzirá:

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

Observe que o método ReflectionNamedType::isBuiltin() não faz distinção entre classes internas e personalizadas. Para fazer essa distinção, o método ReflectionClass::isInternal() deve ser usado no nome da classe retornada.

Veja Também

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