get_declared_classes

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

get_declared_classesLista todas las clases definidas en PHP

Descripción

get_declared_classes(): array

Lista todas las clases definidas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array que contiene la lista de nombres de las clases declaradas en el script actual.

Nota:

Se debe tener en cuenta que, dependiendo de las extensiones que estén compiladas o cargadas en PHP, pueden estar presentes otras clases. Esto significa que no se podrán utilizar estos nombres de clases para definir sus propias clases. A continuación se muestra una lista de las clases predefinidas.

Historial de cambios

Versión Descripción
7.4.0 Anteriormente get_declared_classes() siempre retornaba las clases padres antes que las clases hijas. Esto ya no es así. No se garantiza ningún orden particular para el valor de retorno de get_declared_classes().

Ejemplos

Ejemplo #1 Ejemplo con get_declared_classes()

<?php
print_r
(get_declared_classes());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

Ver también

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