函式名稱:spl_classes()
適用版本:PHP 5 >= 5.3.0, PHP 7
用法:spl_classes() 函式返回一個陣列,其中包含了當前指令碼中所有已定義的類的名稱。
示例:
// 示例1:獲取當前指令碼中已定義的類名
$classes = spl_classes();
print_r($classes);
/*
輸出:
Array
(
[0] => stdClass
[1] => Exception
[2] => ErrorException
[3] => ...
)
*/
// 示例2:判斷某個類是否存在於當前指令碼中
if (in_array('MyClass', spl_classes())) {
echo 'MyClass 已定義';
} else {
echo 'MyClass 未定義';
}
// 示例3:獲取當前指令碼中已定義的類的數量
$classesCount = count(spl_classes());
echo '當前指令碼中已定義的類的數量:' . $classesCount;
注意事項:
- spl_classes() 函式只能獲取當前指令碼中已定義的類名,無法獲取外部引入的類。
- 返回的類名陣列中的順序不一定與類定義的順序一致。
- 在 PHP 7 中,由於引入了匿名類,返回的類名陣列中可能會包含匿名類。