Klasa stdClassstdClass
&reftitle.intro;
Ogólna pusta klasa z dynamicznymi właściwościami.
Obiekty tej klasy mogą być tworzone za pomocą
operatora new lub tworzone przez
rzutowanie do obiektu.
Kilka funkcji PHP również tworzy instancje tej klasy, np.
json_decode, mysqli_fetch_object
lub PDOStatement::fetchObject.
Pomimo braku implementacji magicznych metod
__get()/__set(),
klasa ta pozwala na dynamiczne właściwości i nie wymaga atrybutu
#[\AllowDynamicProperties].
Nie jest to klasa bazowa, ponieważ PHP nie posiada koncepcji uniwersalnej klasy bazowej.
Możliwe jest jednak utworzenie własnej klasy, która rozszerza klasę
stdClass i w rezultacie dziedziczy funkcjonalność
właściwości dynamicznych.
&reftitle.classsynopsis;
stdClass
Klasa ta nie posiada żadnych metod ani domyślnych właściwości.
&reftitle.examples;
Utworzona w wyniku rzutowania typu na obiekt
'bar');
var_dump($obj);
]]>
&example.outputs;
string(3) "bar"
}
]]>
Created as a result of json_decode
&example.outputs;
string(3) "bar"
}
]]>
Declaring dynamic properties
foo = 42;
$obj->{1} = 42;
var_dump($obj);
]]>
&example.outputs;
int(42)
["1"]=>
int(42)
}
]]>