STDCLASS EN PHP: QUÉ ES Y CÓMO UTILIZARLO

Hace años tuve que usar el objeto StdClass porque tenía que sacar un json de una determinada manera y me aconsejaron usarlo.
¿Pero qué es StdClass? Es una clase predefinida que no tiene ni propiedades, ni métodos, ni hereda de ninguna otra clase, es decir, que es una clase vacía parecida a la clase Object de Java o el object de Python.
Esta clase se puede usar cuando necesitamos un objeto genérico al que luego el podremos añadir propiedades. Veamos un ejemplo:
$objeto = new StdClass;
?php // Crear una instancia de stdClass $objeto = new stdClass(); // Asignar propiedades dinámicamente $objeto->nombre = "Juan"; $objeto->edad = 30; $objeto->ciudad = "Madrid"; // Acceder a las propiedades echo $objeto->nombre; // Imprime: Juan echo $objeto->edad; // Imprime: 30 // Ejemplo con JSON: convertir un JSON a stdClass $json = '{"nombre": "Ana", "edad": 25}'; $objetoDesdeJson = json_decode($json); // json_decode devuelve un stdClass por defecto echo $objetoDesdeJson->nombre; // Imprime: Ana // Convertir un array a stdClass $array = ['nombre' => 'Carlos', 'edad' => 40]; $objetoDesdeArray = (object) $array; echo $objetoDesdeArray->nombre; // Imprime: Carlos ?>

Explicación

  1. Creación directa: Se puede crear un objeto stdClass con "new stdClass()" y añadir propiedades dinámicamente.
  2. JSON a stdClass: La función json_decode convierte un string JSON en un objeto stdClass por defecto.
  3. Array a stdClass: Se puede convertir a un array a stdClass usando "(object)".
Os recomiendo leer mi post sobre clases anónimas