10.11.07

Rozdíly v přiřazení objektů v php4 a php5

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.
class Tfoo
{
var $bar = 1;

function Tfoo()
{

}
}

$a = new Tfoo();
$b = $a;
Výsledky vypíšu pomocí funkce print_r.
print_r($a);
print_r($b);
V php4 se na obrazovku vypíše
tfoo Object
(
[bar] => 1
)
tfoo Object
(
[bar] => 2
)
V php5 se 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.

0 komentářů:

 
tepláky | prostěradla | trenky