Moin!
Hi,
aber wie muss es jetzt richtig sein auch wenn ich stat parent:: $this verwende funktioniert es mit dem $conn nicht?
Was logisch ist.
Du hast eine Instanz der Klasse "datenbank" in der Variablen $db. Mit der Instanz stellst du die DB-Verbindung her.
Dann hast du - davon vollkommen unabhängig - eine Instanz der Klasse "user_delete" in der Variablen $del_user, mit der du eine Löschoperation durchführen willst.
Dein Problem ist nun: Woher weiß die Instanz in $del_user, dass die Instanz in $db eine Datenbankverbindung hergestellt hat? Du sagst es ihr nicht? Du übergibst keinen Verweis/Pointer/Methode/sonstwas.
Würdest du dagegen einfach nur eine Instanz von "user_delete" erzeugen, dort die Datenbankverbindung herstellen, und dann löschen (indem du mit $this arbeitest, um die allgemeine DB-Methode aufzurufen), dann würde es gehen.
Deine Klassenstruktur ist aber sowieso etwas fragwürdig. Warum trennst du DB-Klasse und User-Löschen-Klasse als Erweiterung der DB-Klasse? Ich würde das alles in eine Hauptklasse packen. Denn wie wahrscheinlich ist es, dass du zwei verschiedene User-Löschen-Funktionen benötigst - und das auch noch unter _demselben_ Namen?
Da du im Endeffekt die Vererbung der Klassen nur als mäßigen Include-Ersatz benutzt, kannst du auf die Vererbung eigentlich auch genausogut verzichten - IMHO.
- Sven Rautenberg