ReflectionNamedType::isBuiltin
(PHP 7, PHP 8)
ReflectionNamedType::isBuiltin — 組み込みの型であるかを調べる
説明
PHP に元々組み込まれた型であるかを調べます。 元々組み込まれた型とは、クラス、インターフェイス、トレイトのいずれでもない型を指します。
パラメータ
この関数にはパラメータはありません。
例
例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() メソッドを使うべきです。
参考
- ReflectionType::allowsNull() - null が許されるかをチェックする
- ReflectionType::__toString() - 文字列に変換する
- ReflectionClass::isInternal() - 拡張モジュールあるいはコアで定義された内部クラスであるかどうかを調べる
- ReflectionParameter::getType() - 引数の型を取得する
+add a note
User Contributed Notes 2 notes
mndevel at gmail dot com ¶
3 years 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
yarns_purport0n at icloud dot com ¶
2 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.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google