PHP 8.6.0 Beta 1 is available for testing

get_declared_classes

(PHP 4, PHP 5, PHP 7, PHP 8)

get_declared_classesВозвращает массив с именами объявленных классов

Описание

function get_declared_classes(): array

Функция возвращает объявленные классы.

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Функция возвращает массив имён классов, которые объявили в текущем скрипте.

Замечание:

Учтите также, что в зависимости от модулей, которые собрали или загрузили в 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
)

Смотрите также

  • class_exists() - Проверяет, доступна ли автозагрузка класса или содержит ли код объявление класса
  • get_declared_interfaces() - Возвращает массив объявленных интерфейсов
  • get_defined_functions() - Возвращает массив определённых функций

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 2 notes

up
1
rmamdaminov at gmail dot com
2 years ago
Note that this function also counts enums.
<?php
enum Bla
{
 case Foo;
}
var_dump(get_declared_classes());
?>

Result:
array(116) {
 ...
 [115]=> string(3) "Bla"
}
up
1
matt-php at DONT-SPAM-ME dot bitdifferent dot com
21 years ago
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
)
+Добавить

AltStyle によって変換されたページ (->オリジナル) /