Mailinglisten-Archive |
Hallo Liste, ich möchte im Konstruktor der Klasse bar eine Instanz der Klasse foo erzeugen und Instanz bar an diese per Referenz übergeben. Leider bekomme ich keine Referenz übergeben. Irgendwie erhalte ich ein neues Objekt. Wenn ich die entsprechende teile im Script durch dir auskommentierungen ersetze läuft es seltsamer weise. Hier das Bsp. Skript: <?php class foo { var $bar; // function foo(&$deoaa, $bar) { function foo(&$bar) { $this->bar = & $bar; } function doit() { var_dump($this->bar->get()); // erwartet 6 -> ausgabe null $this->bar->set(6); var_dump($this->bar->get()); // erwartet 6 -> ausgabe 6 } } class bar { var $value =null; var $foo; function bar() { // $this->foo = new foo($this->value, $this); $this->foo = new foo($this); } function set($value) { $this->value = $value; } function get() { return $this->value; } } print "<pre>"; $demo = new bar(); $demo->set(5 ); var_dump($demo->get()); // erwartet 5 -> ausgabe 5 $demo->foo->doit(); var_dump($demo->get()); // erwartet 6 -> ausgabe 5 ?> Hat jemand eine Idee, wo der Fehler liegt ? Gruss, Tobias.
php::bar PHP Wiki - Listenarchive