Thorsten Steffen: Verwendung von Referenzen

Beitrag lesen

hio,

$Test = new Test;
print $Test->used_language;
Referenz wäre doch
$bar =& new fooclass();
das hieße es wird eien Referenz auf die eigebtliche Klasse erstellt, und keine Kopie

Nicht ganz (oder?), mit $bar = new fooclass(); erzeugst du eine Instanz und eine Kopie dieser Instanz un erhählst die Referenz auf diese Kopie (call by value), auf die eigentliche Instanz kannst du nun nicht mehr zugreifen.
Mit $bar = & new fooclass(); erzeugst du eine Instanz und bekommst eine Referenz auf diese Instanz.
Also eine Referenz bekommst du allemale, der Unterschied liegt im kopieren der Instanz. Oft spielt es keine Rolle ob du nun mit der Instanz oder der Kopie arbeitest, wenn du nun aber von verschiedenen Punkten aus auf Werte der Instanz zugreifen willst, dann es eine Refrenz auf die Instanz selbst der Weg.

gl & hf

Thorsten