Spartan-117
Cadet 3rd Year
- Registriert
- Nov. 2010
- Beiträge
- 41
Hallo
Ich entschuldige mich schon mal im Voraus für diesen nicht sehr aussagekräftigen Titel, jedoch fiel mir um diese Uhrzeit kein Passenderer ein.
Also, nehmen wir an, wir haben 2 Klassen. "ersteKlasse" wird zuerst per require eingebunden und instanziert. Danach kommt "zweiteKlasse", welche eine Variable hat, die "ersteKlasse" benötigt. Nur leider funktioniert dies nicht, da bei der Ausgabe der ersten Klasse die Zweite gar nicht existiert.
index.php
class1.php
class2.php
Also eigentlich geht es um eine erste Klasse, welche die Datenbankfunktionen bereitstellt und um eine Zweite, welche Texte in verschiedenen Sprachen bereitstellt. Die Zweite ist von der Ersten abhängig, da dort Datenbankabfragen durchgeführt werden. Nun ist jedoch die Erste auch von der Zweiten abhängig, da bei fehlgeschlagener Datenbankverbindung ein Fehler ausgegeben werden soll. Dieser Fehlertext wird von Klasse 2 bereitgestellt. Da jedoch beim Aufruf des Konstruktors der ersten Klasse, die Zweite garnicht existiert, bekomme ich folgende Fehlermeldung:
Wie kann ich dieses Problem lösen?
Vielen Dank,
Spartan-117
Ich entschuldige mich schon mal im Voraus für diesen nicht sehr aussagekräftigen Titel, jedoch fiel mir um diese Uhrzeit kein Passenderer ein.
Also, nehmen wir an, wir haben 2 Klassen. "ersteKlasse" wird zuerst per require eingebunden und instanziert. Danach kommt "zweiteKlasse", welche eine Variable hat, die "ersteKlasse" benötigt. Nur leider funktioniert dies nicht, da bei der Ausgabe der ersten Klasse die Zweite gar nicht existiert.
index.php
PHP:
require('./class1.php');
$ersteKlasse = new ersteKlasse();
require('./class2.php');
$zweiteKlasse = new zweiteKlasse();
class1.php
PHP:
class ersteKlasse {
public function __construct() {
global $zweiteKlasse;
echo $zweiteKlasse->text;
}
}
class2.php
PHP:
class zweiteKlasse {
public $text = "hey";
}
Also eigentlich geht es um eine erste Klasse, welche die Datenbankfunktionen bereitstellt und um eine Zweite, welche Texte in verschiedenen Sprachen bereitstellt. Die Zweite ist von der Ersten abhängig, da dort Datenbankabfragen durchgeführt werden. Nun ist jedoch die Erste auch von der Zweiten abhängig, da bei fehlgeschlagener Datenbankverbindung ein Fehler ausgegeben werden soll. Dieser Fehlertext wird von Klasse 2 bereitgestellt. Da jedoch beim Aufruf des Konstruktors der ersten Klasse, die Zweite garnicht existiert, bekomme ich folgende Fehlermeldung:
In dieser Linie wird eben der Text von Klasse 2 abgerufen.Notice: Trying to get property of non-object in * on line *
Wie kann ich dieses Problem lösen?
Vielen Dank,
Spartan-117