首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]ReflectionNamedType::isBuiltin()函数—用法及示例

发布于 2025-05-03 19:24:30
0
17

函数:ReflectionNamedType::isBuiltin()

适用版本:PHP 7.0.0 及以上版本

用法:ReflectionNamedType::isBuiltin() 方法用于检查给定的命名类型是否为内置类型。

语法:public ReflectionNamedType::isBuiltin(): bool

参数:无

返回值:如果命名类型是内置类型,则返回 true;否则返回 false。

示例:

class MyClass {}
$reflectionClass = new ReflectionClass('MyClass');
$constructor = $reflectionClass->getConstructor();
$parameters = $constructor->getParameters();

foreach ($parameters as $parameter) {
    $type = $parameter->getType();

    if ($type instanceof ReflectionNamedType) {
        $typeName = $type->getName();
        $isBuiltin = $type->isBuiltin();

        echo "Parameter '{$parameter->getName()}' has type '{$typeName}'";
        echo $isBuiltin ? " (builtin type)" : " (custom type)";
        echo PHP_EOL;
    }
}

输出:

Parameter 'arg1' has type 'int' (builtin type)
Parameter 'arg2' has type 'string' (builtin type)
Parameter 'arg3' has type 'MyClass' (custom type)

上述示例中,我们创建了一个名为 MyClass 的类,并获取其构造函数的参数。然后,我们使用 ReflectionNamedType 对象的 isBuiltin() 方法来判断参数的类型是否为内置类型。如果是内置类型,则输出 "(builtin type)",否则输出 "(custom type)"。在这个例子中,我们的构造函数有三个参数,其中两个是内置类型 (int 和 string),另一个是自定义类型 (MyClass)。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流