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