get_declared_classes
(PHP 4, PHP 5)
get_declared_classes — Возвращает массив с именами объявленных классов
Описание
Эта функция возвращает массив имен классов, объявленных в текущей итерации.
Замечание: Начиная с PHP 4.0.1pl2, три дополнительных класса добавляются в начало списка: stdClass (объявленный в Zend/zend.c), OverloadedTestClass (объявленный в ext/standard/basic_functions.c) и Directory (объявленный в ext/standard/dir.c).
Учтите также, что в зависимости от набора библиотек, собранных с PHP, может варьироваться число дополнительных классов: дополнительные расширения могут объявлять свои классы. Это означает, что вы не сможете использовать имена их классов для своих. Список классов в расширениях находится в разделе Predefined Classes дополнения.
Пример #1 Пример использования get_declared_classes()
<?php
print_r(get_declared_classes());
?>
Пример выведет что-нибудь близкое к:
Array ( [0] => stdClass [1] => __PHP_Incomplete_Class [2] => Directory )
См. также class_exists().
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Функции работы с классами и объектами
- __autoload
- call_user_method_array
- call_user_method
- class_alias
- class_exists
- get_called_class
- get_class_methods
- get_class_vars
- get_class
- get_declared_classes
- get_declared_interfaces
- get_declared_traits
- get_object_vars
- get_parent_class
- interface_exists
- is_a
- is_subclass_of
- method_exists
- property_exists
- trait_exists
Коментарии
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
)
Note that this function also counts enums.
<?php
enum Bla
{
case Foo;
}
var_dump(get_declared_classes());
?>
Result:
array(116) {
...
[115]=> string(3) "Bla"
}