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
get_declared_interfaces: Returnează numele tuturor interfețelor definite în acest moment.get_declared_traits: Returnează numele tuturor trait-urilor definite în acest moment.class_exists / interface_exists / enum_exists: Verifică dacă o clasă (class_exists), o interfață sau un enum a fost definit.