Also bei mir funktioniert beides, mit und ohne Referenzierung mit &.
Code:
<?php
header('Content-type: text/plain');
$objects = array();
class MyClass {
public $title;
function MyClass($title) {
$this->title = $title;
$GLOBALS['objects'][$title] = $this; # bzw. &$this
}
}
$myobj = new MyClass('A');
# Objekt verändern
$objects['A']->title = 'B';
# Objekt-Eigenschaften ausgeben
echo $myobj.': '.$myobj->title."\r\n";
echo $objects['A'].': '.$objects['A']->title;
?>
Beidesmal spuckt mir das Script:
Object id #1: B
Object id #1: B
aus. Mich würde aber trotzdem mal interessieren, was bei der Zuweisung von $this nun eigentlich passiert. In Delphi hätte ich jetzt gesagt: Ist doch klar, $this ist ja schon ein Zeiger auf das Objekt, deswegen braucht man das auch nicht zu referenzieren... In PHP bin ich mir grad nicht so sicher
.