kostenloser Webspace werbefrei: lima-city


Problem mit Errorklasse

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    infanteria

    infanteria hat kostenlosen Webspace.

    Ich habe vereinfacht folgenden code:

    <?php
    
    class error
    {
        function adderror($bla)
        {
            //Fehler hinzuf&#252;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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. r********t


    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&#223;en:

    <?php
    
    class error
    {
    }



    EDIT: Beitrag wurde oben schon bearbeitet...

    Beitrag geändert: 26.11.2007 14:54:34 von reneherget
  4. e********l

    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 &#252;berall &#252;ber $GLOBALS['error'] ansprechen.
  5. Autor dieses Themas

    infanteria

    infanteria hat kostenlosen Webspace.

    Mit $GLOBALS['error'] funktioniert es wie gew&#252;nscht, vielen Dank!

    @reneherget: sry, ich habe versucht mit <TAB> einzur&#252;cken und habe dabei ausversehen gespeichert.
  6. H&#228;? Warum nutzt du nicht einfach $this? *am_Kopf_kratz*
  7. e********l


    H&#228;? 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 &#252;bergibt ;)

    Designfehler sind halt schwerwiegend...

    Beitrag geändert: 26.11.2007 16:51:23 von evil-devil
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!