Note that this function also counts enums.
<?php
enum Bla
{
case Foo;
}
var_dump(get_declared_classes());
?>
Result:
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 )
Note that this function also counts enums.
<?php
enum Bla
{
case Foo;
}
var_dump(get_declared_classes());
?>
Result:
array(116) {
...
[115]=> string(3) "Bla"
}
The array returned by this function will be in the order the classes were defined / included / required and this order does not appear to change.
For example:
<?PHP
//define classone
class classone { }
//define classtwo
class classtwo { }
//This will show X classes (built-ins, extensions etc) with
//classone and classtwo as the last two elements
print_r(get_declared_classes());
//define classthree
class classthree { }
//...and four
class classfour { }
//Shows the same result as before with class three and four appended
print_r(get_declared_classes());
?>
Output:
Array
(
[0] => stdClass
[1] .... other defined classes....
[10] => classone
[11] => classtwo
)
and...
Array
(
[0] => stdClass
[1] .... other defined classes....
[10] => classone
[11] => classtwo
[12] => classthree
[13] => classfour
)