Note that this function also counts enums.
<?php
enum Bla
{
case Foo;
}
var_dump(get_declared_classes());
?>
Result:
array(116) {
...
[115]=> string(3) "Bla"
}get_declared_classes
(PHP 4, PHP 5, PHP 7, PHP 8)
get_declared_classes — Returns an array with the name of the defined classes
Parameters
This function has no parameters.
Return Values
Returns an array of the names of the declared classes in the current script.
Note:
Note that depending on what extensions you have compiled or loaded into PHP, additional classes could be present. This means that you will not be able to define your own classes using these names. There is a list of predefined classes in the Predefined Classes section of the appendices.
Changelog
| Version | Description |
|---|---|
| 7.4.0 | Previously get_declared_classes() always returned parent classes before child classes. This is no longer the case. No particular order is guaranteed for the get_declared_classes() return value. |
Examples
Example #1 get_declared_classes() example
<?php
print_r(get_declared_classes());
?>The above example will output something similar to:
Array
(
[0] => stdClass
[1] => __PHP_Incomplete_Class
[2] => Directory
)
See Also
- class_exists() - Checks if the class has been defined
- get_declared_interfaces() - Returns an array of all declared interfaces
- get_defined_functions() - Returns an array of all defined functions
+add a note
User Contributed Notes 2 notes
rmamdaminov at gmail dot com ¶
2 years ago
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
)