ReflectionNamedType::isBuiltin

(PHP 7, PHP 8)

ReflectionNamedType::isBuiltinПроверяет, является ли тип встроенным

Описание

public ReflectionNamedType::isBuiltin(): bool

Проверяет, является ли тип встроенным типом PHP. Встроенный тип - любой тип, не являющийся классом, интерфейсом или трейтом.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

true, если тип встроенный, false в противном случае.

Примеры

Пример #1 Пример использования 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());

Результат выполнения приведённого примера:

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

Заметьте, что метод ReflectionNamedType::isBuiltin() не различает внутренние и пользовательские классы. Чтобы их различить, нужно использовать метод ReflectionClass::isInternal() для возвращаемого имени класса.

Смотрите также

Добавить

Примечания пользователей 2 notes

up
9
mndevel at gmail dot com
4 years ago
I couldn't find a list of what qualifies as a builtin. Here is what I have so far:stringfloatboolintiterable (Iterator reflects as type iterable)mixedarray These do not qualify as builtins:ClosureStringableGeneratorTraversableSerializableThrowableIteratorAggregateArrayAccessWeakReferenceJsonSerializeable
up
1
yarns_purport0n at icloud dot com
3 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