PHP 8.4.1 Released!

get_declared_classes

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

get_declared_classesRetorna um array com os nomes das classes definidas

Descrição

get_declared_classes(): array

Obtém as classes declaradas.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um array de nomes das classes declaradas no script atual.

Nota:

Observe que, dependendo de quais bibliotecas tenham sido compiladas ou carregadas no PHP, classes adicionais podem estar presentes. Isto significa que não será possível definir classes de usuário usando estes nomes. Há uma lista de classes predefinidas na seção Classes Predefinidas dos apêndices.

Registro de Alterações

Versão Descrição
7.4.0 Anteriormente a função get_declared_classes() sempre retornada classes pais antes das classes filhas. Isto não é mais o que acontece. Nenhuma ordem em particular é garantida para o valor de retorno de get_declared_classes().

Exemplos

Exemplo #1 Exemplo de get_declared_classes()

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

O exemplo acima produzirá algo semelhante a:

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

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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