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