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)
📘 Naucz się w lekcji →