PHP 8.1.0 RC 2 available for testing

ReflectionNamedType::isBuiltin

(PHP 7, PHP 8)

ReflectionNamedType::isBuiltin組み込みの型であるかを調べる

説明

public ReflectionNamedType::isBuiltin(): bool

PHP に元々組み込まれた型であるかを調べます。 元々組み込まれた型とは、クラス、インターフェイス、トレイトのいずれでもない型を指します。

パラメータ

この関数にはパラメータはありません。

返り値

組み込みの型である場合は true を、そうでない場合は false を返します。

例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() メソッドを使うべきです。

参考

add a note add a note

User Contributed Notes 1 note

up
1
mndevel at gmail dot com
6 months 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
To Top