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 nombrados por claves y valores correspondientes. Observe que en este caso antes de PHP 7.2.0 las claves numéricas eran inaccesibles a menos que fueran iteradas.

<?php
$obj
= (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // muestra 'bool(true)' desde PHP 7.2.0; 'bool(false)' anteriormente
var_dump(key($obj)); // muestra 'string(1) "1"' desde PHP 7.2.0; 'int(1)' anteriormente
?>

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

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