Napíšu si nějakou třídu a z ní vytvořím do proměnné objekt. Ten potom přiřadím jiné proměnné a nastavím objektu v ní nějakou hodnotu vlastnosti.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Tfoo { | |
var $bar = 1; | |
function Tfoo() { | |
} | |
} | |
$a = new Tfoo(); | |
$b = $a; |
Výsledky vypíšu pomocí funkce print_r.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
print_r($a); | |
print_r($b); |
Php4 vypíše
tfoo Object ( [bar] => 1 ) tfoo Object ( [bar] => 2 )
Php5 vypíše
Tfoo Object ( [bar] => 2 ) Tfoo Object ( [bar] => 2 )
protože se přiřazením objektů vytvořila reference. Aby obojí fungovalo stejně musím k přiřazení v php5 přidat
$b = clone $a;
Zajímavé také je, že php5 vypíše správně velikost písmen v názvu třídy.