questo codice....
Codice PHP:
<?php
echo phpversion()."
";
$class =new StdClass;
$cloned =clone $class;
$copied =$class;
$referenced =&$class;
$class->test = 'foo';
$cloned->test = 'bar';
$copied->test = 'baz';
trace($class); //stampa baz
trace($cloned); //stampa bar
trace($copied); //stampa baz
trace($referenced); //stampa baz
echo "
";
$class->test = 'foo cambiato';
$cloned->test = 'bar cambiato';
$copied->test = 'baz cambiato';
trace($class); //stampa baz cambiato
trace($cloned); //stampa bar cambiato
trace($copied); //stampa baz cambiato
trace($referenced); //stampa baz cambiato
function trace($obj){
echo $obj->test."
";
}
?>
testato su PHP versioni 5.2.0-8+etch16 e 5.3.0
quello che mi fa strano è $copied, che in realtà si comporta come referenziata....
mi sfugge qualcosa?