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'
?>