Avatar ·

Qu'est-ce que stdClass en PHP et à quoi sert-il ?

Bonjour, collègues ! Je suis un développeur PHP débutant, et en lisant le code des autres, je tombe souvent sur une construction étrange : `$obj = new stdClass();`. Ensuite, on travaille avec cet objet comme un objet normal, en ajoutant des propriétés à la volée : `$obj->name = 'John';`. Je comprends que c'est une classe intégrée, mais je n'arrive pas à en saisir l'essence. Par exemple, j'ai l'habitude de créer des objets via mes propres classes : ```php class User { public $name; public $email; } $user = new User(); $user->name = 'John'; ``` Mais alors pourquoi `stdClass` ? Dans la documentation, il est dit que c'est une classe vide, mais à quoi sert-elle vraiment ? Pourquoi ne pas simplement utiliser un tableau ? Après tout, un tableau `['name' => 'John']` fait la même chose. J'ai aussi vu que `stdClass` apparaît lors de la conversion de JSON en objet via `json_decode($json)`. Si on ne passe pas le deuxième paramètre `true`, on obtient un objet de type `stdClass`. Cela m'a complètement dérouté. Expliquez-moi, s'il vous plaît, dans quelles situations `stdClass` est vraiment utile, et quand vaut-il mieux l'éviter ? Et existe-t-il