get_declared_classes în PHP

Returnează numele tuturor claselor definite în acest moment, din PHP, din extensii și din codul tău.

Sintaxă
get_declared_classes(): array

Ce face get_declared_classes

Lista începe cu sutele de clase incluse în PHP și extensii, urmate de clasele definite de scriptul tău, în ordinea în care au fost încărcate. Clasele care nu au fost încă încărcate de autoloader nu apar.

Enum-urile apar și ele în listă, pentru că sunt tot clase. Interfețele și trait-urile au funcții separate: get_declared_interfaces și get_declared_traits.

Ce returnează

Un tablou cu numele claselor.

Exemple

Exemplul 1: Clasele adăugate de script

<?php
class Produs {}
class Comanda {}
enum Status { case Noua; }

$proprii = array_filter(get_declared_classes(), fn($c) => !(new ReflectionClass($c))->isInternal());
print_r(array_values($proprii));
var_dump(in_array("DateTime", get_declared_classes()));

Rezultat

Array
(
    [0] => Produs
    [1] => Comanda
    [2] => Status
)
bool(true)

Greșeli frecvente

  • Afișezi toată lista și te sperii de lungime. Sunt sute de clase interne; filtrează-le, ca în exemplu, cu ReflectionClass::isInternal().

Comenzi înrudite