Note that this function also counts enums.
<?php
enum Bla
{
case Foo;
}
var_dump(get_declared_classes());
?>
Result:
array(116) {
...
[115]=> string(3) "Bla"
}
(PHP 4, PHP 5, PHP 7, PHP 8)
get_declared_classes — Lista todas las clases definidas en PHP
Esta función no contiene ningún parámetro.
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.
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(). |
Ejemplo #1 Ejemplo con get_declared_classes()
<?php
print_r(get_declared_classes());
?>
Resultado del ejemplo anterior es similar a :
Array ( [0] => stdClass [1] => __PHP_Incomplete_Class [2] => Directory )
Note that this function also counts enums.
<?php
enum Bla
{
case Foo;
}
var_dump(get_declared_classes());
?>
Result:
array(116) {
...
[115]=> string(3) "Bla"
}
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
)