get_class_vars
funkcja
Zwraca tablicę publicznych właściwości klasy wraz z ich domyślnymi wartościami. Przydatne do introspekcji struktury klasy bez tworzenia obiektu.
get_class_vars(string $class): array
get_class_vars przyjmuje nazwę klasy jako string i zwraca asocjacyjną tablicę publicznych właściwości z ich domyślnymi wartościami. Widoczność jest uwzględniana względem bieżącego zasięgu: wywołana poza klasą zwraca tylko public; wywołana wewnątrz klasy — również protected i private. Właściwości typowane bez wartości domyślnej (public int $id;) pojawiają się w wyniku z wartością NULL. Uwzględniane są też właściwości statyczne. Dla właściwości instancji konkretnego obiektu używaj get_object_vars.
<?php
declare(strict_types=1);
class Produkt
{
public string $nazwa = 'nieznany';
public float $cena = 0.0;
public int $ilosc = 1;
protected bool $aktywny = true; // nie zwrócone spoza klasy
public int $id; // brak domyślnej — zwrócone jako NULL
}
// Wywołanie poza klasą — wszystkie public (typowane bez domyślnej mają wartość NULL):
var_dump(get_class_vars('Produkt'));
// array(4) {
// ["nazwa"] => string(8) "nieznany"
// ["cena"] => float(0)
// ["ilosc"] => int(1)
// ["id"] => NULL
// }
// Porównaj z get_object_vars — zwraca bieżący stan instancji:
$p = new Produkt();
$p->cena = 99.99;
var_dump(get_object_vars($p)['cena']); // float(99.99)