Objetos

Inicialización de objetos

Para crear un nuevo object, utilice la sentencia new para instanciar una clase:

<?php
class foo
{
    function 
hacer_algo()
    {
        echo 
"Haciendo algo."
    }
}

$bar = new foo;
$bar->hacer_algo();
?>

Para una descripción completa, véase el capítulo Clases y objetos.

Conversión a un objeto

Si un object se convierte en un object, éste no se modifica. Si un valor de cualquier otro tipo se convierte en un object, se crea una nueva instancia de la clase stdClass incorporada. Si el valor es NULL, la nueva instancia estará vacía. Un array se convierte en un object con las propiedades nombradas como claves y los valores correspondientes, con la excepción de las claves numéricas, las cuales serán inaccesibles a menos que sean recorridas.

<?php
$obj 
= (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // muestra 'bool(false)'
var_dump(key($obj)); // muestra 'int(1)'
?>

Para cualquier otro valor, una variable miembro llamada scalar contendrá el valor.

<?php
$obj 
= (object) 'ciao';
echo 
$obj->scalar;  // muestra 'ciao'
?>