Objects

Inizializzazione di un object

Per creare un nuovo object, utilizzare l'istruzione new per istanziare una classe:

<?php
class foo
{
function
do_foo()
{
echo
"Doing foo.";
}
}

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

Per una discussione completa, vedere il capitolo Classi e Oggetti.

Conversione a object

Se un object viene convertito in un altro object, non subisce modifiche. Se un valore di un qualsiasi altro tipo viene convertito ad object, una nuova istanza della classe built-in stdClass viene creata. Se il valore era null, la nuova istanza sarà vuota. Un array viene convertito in object utilizzando i nomi degli indici ed il loro corrispondente valore come attributi, fatta eccezione per gli indici numerici, i quali saranno inaccessibili a meno che non vengano iterati.

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

Per ogni altro valore, una variabile di classe chiamata scalar conterrà quel valore.

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