2024 年日本 PHP 研討會

ReflectionNamedType::isBuiltin

(PHP 7, PHP 8)

ReflectionNamedType::isBuiltin檢查是否為內建類型

說明

public ReflectionNamedType::isBuiltin(): bool

檢查類型是否為 PHP 中的內建類型。內建類型是指非類別、介面或 trait 的任何類型。

參數

此函式沒有參數。

回傳值

如果是內建型別則為 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)
JSON 序列化 (JsonSerializable)
yarns_purport0n at icloud dot com
2 年前
內建類型 () 為:
- `array` (陣列)
- `callable` (可呼叫)
- `bool` (布林值)
- `float` (浮點數)
- `int` (整數)
- `string` (字串)
- `iterable` (可迭代)
- `object` (物件)
- `mixed` (混合)

註:已根據 https://php.dev.org.tw/language.types.declarations#language.types.declarations.base 中的列表進行測試

`self` (自身) 和 `parent` (父類別) 未包含在內。
To Top