Dennis Wronka
Soulcollector
Nur mal ein kleiner Hinweis:
erzeugt unter PHP5 auch nur eine Referenz auf das Objekt.
Unter PHP4 hingegen bekommst Du eine Kopie, was wohl der gewuenschte Effekt sein duerfte.
Mal ein kleines Beispiel, wozu ich aber gleich anmerken will dass es sich aufgrund der ausserhalb der Klasse genutzten Variable nicht unbedingt um gutes OOP handelt.
Ausgabe mit PHP4: 5
Ausgabe mit PHP5: 2
Grund ist dass in PHP5 Objekte grundsaetzlich als Referenz uebergeben werden.
Will man ein Objekt kopieren muss clone genutzt werden.
Uebrigens, Objekte koennen auch ohne Serialisierung in die Session gesetzt werden. Grund ist dass der Session-Handler von PHP das Array $_SESSION eh serialisiert wenn es gespeichert wird.
PHP:
$_SESSION['class'][__CLASS__] = $this;
Unter PHP4 hingegen bekommst Du eine Kopie, was wohl der gewuenschte Effekt sein duerfte.
Mal ein kleines Beispiel, wozu ich aber gleich anmerken will dass es sich aufgrund der ausserhalb der Klasse genutzten Variable nicht unbedingt um gutes OOP handelt.
PHP:
<?php
class test
{
var $x;
}
$a=new test();
$a->x=5;
$b=$a;
$b->x=2;
echo $a->x;
?>
Ausgabe mit PHP5: 2
Grund ist dass in PHP5 Objekte grundsaetzlich als Referenz uebergeben werden.
Will man ein Objekt kopieren muss clone genutzt werden.
Uebrigens, Objekte koennen auch ohne Serialisierung in die Session gesetzt werden. Grund ist dass der Session-Handler von PHP das Array $_SESSION eh serialisiert wenn es gespeichert wird.