Problem mit Errorklasse
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ansprechen
aufruf
bearbeitet beitrag
bestandteil
code
effekt
fehler
folgende fehlermeldung
folgenden code
funktion
helfen
importieren
klasse weiterleiten
methode
objekt
schieben
schwerwiegend beitrag
verwenden
zugreifen
-
Ich habe vereinfacht folgenden code:
<?php class error { function adderror($bla) { //Fehler hinzufügen } } class querybilder() { function error($fehler) { $error->adderror($fehler); } } $error = new error; global $error; //Querybuilder-aufruf ?>
Produziert die queribuilder-Klasse einen Fehler und will diesen an die Error-Klasse weiterleiten, so spukt PHP folgende Fehlermeldung aus:
Fatal Error: Call to member function ... in a non-object...
Beitrag geändert: 26.11.2007 14:50:41 von infanteria -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich habe vereinfacht folgenden code:
<?php class error {
Und wobei sollen wir dir helfen?
Abgesehen davon, das uns dein Code garnix bringt, musst du korrekter Weise die Klasse noch schließen:
<?php class error { }
EDIT: Beitrag wurde oben schon bearbeitet...
Beitrag geändert: 26.11.2007 14:54:34 von reneherget -
Der Fehler entsteht dadurch das du in der error methode der Klasse querybuilder auf die lokale variable $error zugreifen willst und diese kein Objekt ist. Du musst erst mit global innerhalb der Methode das $error objekt importieren.
global im Documentspace hat keinen Effekt. Global wird nur in methoden eingesetzt. Willst du Variablen in den Globalen Space schieben, solltest du $GLOBALS['error'] verwenden. ALlerdings musst du die dann auch immer und überall über $GLOBALS['error'] ansprechen. -
Mit $GLOBALS['error'] funktioniert es wie gewünscht, vielen Dank!
@reneherget: sry, ich habe versucht mit <TAB> einzurücken und habe dabei ausversehen gespeichert. -
Hä? Warum nutzt du nicht einfach $this? *am_Kopf_kratz*
-
Hä? Warum nutzt du nicht einfach $this? *am_Kopf_kratz*
Weil die Funktion error kein Bestandteil der Klasse error ist und er nirgends das error Objekt übergibt ;)
Designfehler sind halt schwerwiegend...
Beitrag geändert: 26.11.2007 16:51:23 von evil-devil -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage