ReflectionNamedType::isBuiltin

(PHP 7, PHP 8)

ReflectionNamedType::isBuiltin检查它是否是内置类型

说明

public ReflectionNamedType::isBuiltin ( ) : bool

检查该类型是否是 PHP 中的内置类型。 内置类型是任何不是类、接口或 trait 的类型。

参数

此函数没有参数。

返回值

如果是内置类型返回 true,否则为 false

范例

Example #1 ReflectionNamedType::isBuiltin() 示例

<?php
class SomeClass {}

function 
someFunction(string $paramSomeClass $param2StdClass $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() 方法。

参见

User Contributed Notes

mndevel at gmail dot com 13-Mar-2021 10:16
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
PHP8中文手册 站长在线 整理 版权归PHP文档组所有