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 备注

mndevel at gmail dot com
3 年前
我找不到什么是内置类型的列表。这是我目前为止找到的
string
float
bool
int
iterable (Iterator 反映为类型 iterable)
mixed
array

这些不符合内置类型
Closure
Stringable
Generator
Traversable
Serializable
Throwable
IteratorAggregate
ArrayAccess
WeakReference
JsonSerializeable
yarns_purport0n at icloud dot com
2 年前
内置类型 () 是
- `array`
- `callable`
- `bool`
- `float`
- `int`
- `string`
- `iterable`
- `object`
- `mixed`

注意:从 https://php.net/language.types.declarations#language.types.declarations.base 中的列表进行测试。

`self` & `parent` 不包含在内。
To Top