Was ist stdClass in PHP und wofür wird es benötigt?
Hallo Kollegen! Ich bin ein PHP-Anfänger und stoße beim Lesen fremden Codes oft auf eine seltsame Konstruktion: `$obj = new stdClass();`. Dann wird mit diesem Objekt wie mit einem normalen gearbeitet, indem Eigenschaften spontan hinzugefügt werden: `$obj->name = 'John';`. Ich verstehe, dass es sich um eine eingebaute Klasse handelt, aber ich kann ihr Wesen nicht erfassen.
Zum Beispiel bin ich es gewohnt, Objekte über meine eigenen Klassen zu erstellen:
```php
class User {
public $name;
public $email;
}
$user = new User();
$user->name = 'John';
```
Aber wozu dann `stdClass`? In der Dokumentation steht, dass es eine leere Klasse ist, aber warum wird sie überhaupt benötigt? Warum kann man nicht einfach ein Array verwenden? Schließlich macht ein Array `['name' => 'John']` dasselbe.
Außerdem habe ich gesehen, dass `stdClass` bei der Konvertierung von JSON in ein Objekt durch `json_decode($json)` erscheint. Wenn man den zweiten Parameter `true` nicht übergibt, wird ein Objekt vom Typ `stdClass` zurückgegeben. Das hat mich endgültig verwirrt.
Bitte erklärt mir, in welchen Situationen `stdClass` wirklich nützlich ist und wann man es besser vermeiden sollte? Und gibt es...
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen