phpday 2025 - Call For Papers

get_declared_classes

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

get_declared_classesReturns an array with the name of the defined classes

Description

get_declared_classes(): array

Gets the declared 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

add a note

User Contributed Notes 2 notes

up
1
rmamdaminov at gmail dot com
1 year 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
20 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
)
To Top