請注意,此函式也會計算列舉。
<?php
enum Bla
{
case Foo;
}
var_dump(get_declared_classes());
?>
結果
array(116) {
...
[115]=> string(3) "Bla"
}
(PHP 4, PHP 5, PHP 7, PHP 8)
get_declared_classes — 傳回已定義類別名稱的陣列
此函式沒有參數。
傳回目前腳本中已宣告類別名稱的陣列。
注意事項:
請注意,根據您編譯或載入到 PHP 的擴充功能,可能會有額外的類別存在。這表示您將無法使用這些名稱定義自己的類別。附錄的預定義類別章節中有一個預定義類別列表。
版本 | 說明 |
---|---|
7.4.0 | 先前 get_declared_classes() 總是先返回父類別,再返回子類別。現在已不再如此。 get_declared_classes() 的傳回值不保證任何特定順序。 |
範例 #1 get_declared_classes() 範例
<?php
print_r(get_declared_classes());
?>
上述範例將輸出類似以下的內容
Array ( [0] => stdClass [1] => __PHP_Incomplete_Class [2] => Directory )
請注意,此函式也會計算列舉。
<?php
enum Bla
{
case Foo;
}
var_dump(get_declared_classes());
?>
結果
array(116) {
...
[115]=> string(3) "Bla"
}
此函式返回的陣列將按照類別被定義/包含/引入的順序排列,且此順序似乎不會改變。
例如
<?PHP
//定義 classone
class classone { }
//定義 classtwo
class classtwo { }
//這將顯示 X 個類別(內建、擴充功能等),其中
//classone 和 classtwo 作為最後兩個元素
print_r(get_declared_classes());
//定義 classthree
class classthree { }
//...以及 classfour
class classfour { }
//顯示與之前相同的結果,並附加 classthree 和 classfour
print_r(get_declared_classes());
?>
輸出
陣列
(
[0] => stdClass
[1] .... 其他已定義的類別....
[10] => classone
[11] => classtwo
)
以及...
陣列
(
[0] => stdClass
[1] .... 其他已定義的類別....
[10] => classone
[11] => classtwo
[12] => classthree
[13] => classfour
)