julio 29, 2009 11

La clase stdClass de PHP

By in PHP

En PHP existe una clase predefinida en el lenguaje que se llama stdClass. ¿Y que hace tan especial a esta clase? Pues que no tiene ni propiedades, ni métodos, ni padre; es una clase vacía. ¿Y para que queremos esta clase si no tiene nada? Podemos usar esta clase cuando necesitamos un objeto genérico al que luego el podremos añadir propiedades. Veamos un ejemplo:

<?php

$objecto = new stdClass();
$objeto->nombre = "Manuel";
$objeto->apellidos "Carrascosa de la Blanca";
$objeto->web = "http://mjcarrascosa.com";
?>

Con este código hemos creado un objeto al que luego le hemos añadido tres atributos. Esto nos puede servir cuando queremos tener un objeto que solo tenga datos y, por la razón que sea, no queremos crear una clase específica.

Hay que tener en cuenta, y esto es muy importante, que esta clase no es la clase de la que heredan todas las clases. En PHP las clases que no heredan de ninguna clase simplemente no tienen padre. En esto PHP se diferencia de muchos lenguajes de programación, donde si una clase no tiene padre hereda automáticamente de una clase base por defecto (como en Java la clase Object).

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: ,

11 Responses to “La clase stdClass de PHP”

  1. David dice:

    Gracias por la información.

  2. Broda Noel dice:

    Muy util.Muchas gracias!Con JavaScript, se puede hacer algo parecido. Muy util son estos objetos (para mi gusto).Tambien se puede implementar así:$pepe=(object)array(‘Dios’=’Noel’, ‘apellido’=>’Broda’);echo $pepe=>dios;echo $pepe=>apellido;Saludos!

  3. adancer dice:

    Gracias!

  4. Alexi dice:

    He declarado un objeto de tipo TwitterOAuth, ¿porqué lo interpreta como si fuera un objeto de esta clase? 

  5. Broda Noel dice:

    Justamente por eso Alexi(s?), porque es un objeto anonimo. O sea, simplemente es una pequeña estructura de datos casi atomica, que no tiene ningun tipo de funcionalidad, simplemente DATOS (generalmente).Si conoces JavaScript, te diría que es la analogía a un JSON

  6. Jorge dice:

    Muy buena info para aclarar dudas,, gracias !!!

  7. […] Puede ocurrir que nos interese decodificar un objeto JSON en una variable PHP. A mí me ha costado un pequeño dolor de cabeza, así que os transmito la lección aprendida para ahorrarle sufrimiento al mundo. En realidad esto es muy sencillo utilizando json_decode, que mapea el objeto JSON en una variable de PHP de tipo objeto stdClass: […]

  8. Isaac dice:

    Gracias bro!

  9. Enrique dice:

    Hola, estoy usando esta clase para recuperar valores de un webservices, esto lo hace bien, de si uso print_r($result) me imprime todo lo que ha recuperado. Mi problema es que no se como puedo recorrerlo como una tabla (lo que recupero son n registros). $result = $client->ZTestUwl($params);while($row = mysql_fetch_array($result)), esta sentencia me da error porque en realidad no es una consulta de sqlgracias

  10. […] Como nota adicional, PHP NO tiene esta solución. Cuando creamos una clase en nuestro código, si no tiene ningún tipo de herencia, será símplemente eso, una clase sin ancestros. Luego está el stdClass que es símplemente “azucar sintáctico” para poder ir creando objetos sencillos en tiempo real sin necesidad de tener que instanciar siempre nuestras propias clases vacías para ello. Nada que ver. (más info sobre el tema muy bien explicada). […]

  11. iLen dice:

    Es la mejor manera de crear clases de la nada, la uso mucho en mis proyectos de arto trafico. Recomiendo que le den buena utilidad.

Leave a Reply