naja vllt verwirrt der Titel etwas, aber das ist auch der Grund, warum mir nichts einfällt, wie man zu dem Thema eine Suchanfrage formulieren könnte.
Ich habe also zwei Klassen
Ich will in der Klasse B eine Instanz der Klasse A benutzen, allerdings scheine ich da etwas nicht richtig verstanden zu haben. Zeile 14 ist natürlich
Wie kann ich also eine bestehende Instanz der Klasse A in der Klasse B benutzen?
Ich habe auf php.net im Manual (http://www.php.net/manual/de/language.oop5.php) nachgeschaut, aber nichts gefunden. Ich kann mir außerdem nicht wirklich vorstellen, wie man eine Suchanfrage zu dem Thema machen könnte (hab vieles ausprobiert, aber nie das gefunden, was ich meinte), habt also bitte Rücksicht mit mir
[EDIT]
So ein dreck - hab den Wald vor lauter Bäumen nicht gesehen. Ich glaube ich habe es mit den Referenzen ein wenig übertrieben, das & in der funktions-parameterliste hat gereicht. Wenn man die anderen löscht, funktioniert das ganze.
Sry für diesen nun sinnlosen post...
Ich habe also zwei Klassen
PHP-Code:
<?php
class A {
public function hallo() {
echo "Hallo Welt";
}
}
class B {
public $referenz;
function __construct(&$a) {
$this->referenz &= $a; //Referenz auf die Instanz abspeichern
}
function hallo() {
$this->referenz->hallo(); //Eine Funktion in der Klasse A aufrufen - hier tritt der Fehler auf
}
}
$a = new A();
$b = new B(&$a);
$b->hallo();
?>
Fatal error: Call to a member function hallo() on a non-object in D:\Server\xampp\htdocs\tests\test.php on line 14
Code:
$this->referenz->hallo();
Ich habe auf php.net im Manual (http://www.php.net/manual/de/language.oop5.php) nachgeschaut, aber nichts gefunden. Ich kann mir außerdem nicht wirklich vorstellen, wie man eine Suchanfrage zu dem Thema machen könnte (hab vieles ausprobiert, aber nie das gefunden, was ich meinte), habt also bitte Rücksicht mit mir

[EDIT]
So ein dreck - hab den Wald vor lauter Bäumen nicht gesehen. Ich glaube ich habe es mit den Referenzen ein wenig übertrieben, das & in der funktions-parameterliste hat gereicht. Wenn man die anderen löscht, funktioniert das ganze.
Sry für diesen nun sinnlosen post...
Kommentar