[OOP] Methode einer Sub-Klasse aufrufen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [OOP] Methode einer Sub-Klasse aufrufen

    Morgen,

    der Titel hört sich doof an aber mir fällt nichts bessers ein

    Also ich hab folgendes Problem:

    Ich habe eine Kernel Klasse, in der andere Klassen als Object angelegt werden, klappt auch alles.

    Nun will ich aus einer dieser Subklassen eine ander Subklasse aufrufen, bzw ausführen und zwar so:
    PHP-Code:
    kernel::log::addSysLog(0,get_class($this),__FUNCTION__,"Datenbank wurde ausgewählt."); 
    Dann kommt aber immer der Fehler
    Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in C:\apachefriends\xampp\htdocs\cms\kernel\libs\lib.db.php on line 62
    Nicht jeder der viele Posts hat weiß auch viel

  • #2
    Okay, das Problem von oben, wie ich die Methode aufrufe konnte ich eben lösen

    Fragen hilft

    Aber nun ein Neues Problem:
    und zwar rufe ich die Logger Klasse nun per
    PHP-Code:
    Loging::addSysLog(0,get_class($this),__FUNCTION__,"Datenbank wurde ausgewählt."); 
    Dann habe ich aber das problem, dass die Methode "addSysLog" auf einen ander Methode der Logger Klasse zurückgreift getTime();
    Wenn ich aber wie oben beschrieben die Loggerklasse aufrufe gibt er mir immer folgende Meldung:
    Fatal error: Call to undefined method db::getTime() in C:\apachefriends\xampp\htdocs\cms\kernel\libs\lib.log.php on line 218
    Was ja auch richtig ist, weil die Methode nicht existiert, aber es sollte eigendlich die getTime() Methode der Klasse Loging aufgerufen werden ...

    HILFE!!!!
    Nicht jeder der viele Posts hat weiß auch viel

    Kommentar


    • #3
      wie rufst du die Methode getTime() auf?

      Per :: oder mit $this->getTime()?
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Per $this->getTime();
        Nicht jeder der viele Posts hat weiß auch viel

        Kommentar


        • #5
          $this spricht eine instanz des objektes an, aber wenn ich es richtig verstehe, wird keine erzeugt, da du ja Loging::addSysLog mithilfe von '::' aufrufst.

          Kommentar


          • #6
            okay,
            gerallt, deswegen probiert er auch immer die Fkt. in der DB Klasse zu suchen.


            Gut, aber es much doch ein weg geben (ohne z.B. ne Designpatterb [Singleton]) an die Instanz ran zu kommen ...

            So is das Script aufgebaut:

            Class Kernel
            - var $log;
            - $xyz = new xyz
            - - - hier in xyz brauch ich die Log


            und über $this->log, wie ich es in der Kernel fkt benutze komme ich ja nicht dran... oder??
            Nicht jeder der viele Posts hat weiß auch viel

            Kommentar


            • #7
              Übergib es als Referenz?

              Oder, wenn dir der Begriff singleton anscheinend was sagt: Mach's damit *g*
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar

              Lädt...
              X