phpLaie: Fatal Error

Hallo Leute!
Mein Problem ist in der 2. Zeile

<?php $pageview = JRequest::getVar('view', '');  
$jb_frontpage = $this->params->get('showfrontpagearticles'); ?>

dort zeigt es mir immer diesen Fehler an "Fatal error: Call to a member function get() on a non-object"

MfG

  1. Hi,

    Mein Problem ist in der 2. Zeile

    <?php $pageview = JRequest::getVar('view', '');

    $jb_frontpage = $this->params->get('showfrontpagearticles'); ?>

    
    > dort zeigt es mir immer diesen Fehler an "Fatal error: Call to a member function get() on a non-object"  
      
    Na dann ist $this wohl kein Objekt - es gibt ja auch nach dem gezeigten Code keinen Grund, warum es an der Stelle eins sein sollte.  
      
    MfG ChrisB  
      
    
    -- 
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    
    1. Hi!

      $jb_frontpage = $this->params->get('showfrontpagearticles'); ?>[/code]
      dort zeigt es mir immer diesen Fehler an "Fatal error: Call to a member function get() on a non-object"
      Na dann ist $this wohl kein Objekt - es gibt ja auch nach dem gezeigten Code keinen Grund, warum es an der Stelle eins sein sollte.

      $this sollte eins sein. $this->params ist jedenfalls keins, denn davon sollte ja das erwähnte get() aufgerufen werden. Ein var_dump() könnte aufklärend helfen. (Ebenso sicherlich ein auf E_ALL gestelltes error_reporting und ein auf On gestelltes display_errors.)

      Lo!

      1. Hi!

        $jb_frontpage = $this->params->get('showfrontpagearticles'); ?>[/code]
        dort zeigt es mir immer diesen Fehler an "Fatal error: Call to a member function get() on a non-object"
        Na dann ist $this wohl kein Objekt - es gibt ja auch nach dem gezeigten Code keinen Grund, warum es an der Stelle eins sein sollte.

        $this sollte eins sein.

        Du hast aber sehr großes Seherisches Geschick: aus dem gezeigten Code-Schnipsel geht nicht hervor, dass dieser innerhalb einer Klasse notiert - resp. innerhalb einer inkludiert wurde.

        $this->params ist jedenfalls keins,

        Was schlecht möglich ist, falls $this kein Objekt ist.

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. Hi!

          $jb_frontpage = $this->params->get('showfrontpagearticles'); ?>[/code]
          dort zeigt es mir immer diesen Fehler an "Fatal error: Call to a member function get() on a non-object"
          Na dann ist $this wohl kein Objekt - es gibt ja auch nach dem gezeigten Code keinen Grund, warum es an der Stelle eins sein sollte.

          $this sollte eins sein.

          Du hast aber sehr großes Seherisches Geschick: aus dem gezeigten Code-Schnipsel geht nicht hervor, dass dieser innerhalb einer Klasse notiert - resp. innerhalb einer inkludiert wurde.

          Die Fehlermeldung lautete nicht, dass auf $this->params nicht zugegriffen werden konnte, sondern auf $this->params->get(). Deshalb gehe ich davon aus, dass bis $this alles bestens ist, nur $this->params kein Objekt ist, wie auch die Meldung besagt.

          Wenn man aus heiterem Himmel

          $this->params->get();

          aufzurufen versucht gibt es auch eine ganz andere Fehlermeldung:

          Fatal error: Using $this when not in object context

          $this->params ist jedenfalls keins,
          Was schlecht möglich ist, falls $this kein Objekt ist.

          Das Problem ist also nicht das $this, auch wenn aus dem Codeschnipsel nicht hervorgeht, aus welchem Kontext er gerissen wurde.

          Lo!

          1. Hi!

            $jb_frontpage = $this->params->get('showfrontpagearticles'); ?>[/code]
            dort zeigt es mir immer diesen Fehler an "Fatal error: Call to a member function get() on a non-object"
            Na dann ist $this wohl kein Objekt - es gibt ja auch nach dem gezeigten Code keinen Grund, warum es an der Stelle eins sein sollte.

            $this sollte eins sein.

            Du hast aber sehr großes Seherisches Geschick: aus dem gezeigten Code-Schnipsel geht nicht hervor, dass dieser innerhalb einer Klasse notiert - resp. innerhalb einer inkludiert wurde.

            Die Fehlermeldung lautete nicht, dass auf $this->params nicht zugegriffen werden konnte, sondern auf $this->params->get(). Deshalb gehe ich davon aus, dass bis $this alles bestens ist, nur $this->params kein Objekt ist, wie auch die Meldung besagt.

            Wenn man aus heiterem Himmel

            $this->params->get();

            aufzurufen versucht gibt es auch eine ganz andere Fehlermeldung:

            Wenn ich innerhalb einer Klasse $this->params->()
            aufrufe (eine Instanz der Klasse wurde also zuvor erstellt --> $this _ist_ ein Objekt) und 'params' nicht existiert - genauer: kein Objekt ist - erhalte ich die Meldung:

            Call to a member function get() on a non-object!

            Fatal error: Using $this when not in object context

            Erhält man, beim statischen Aufruf einer Methode  Object::method1(); und fälschlicherweise in dieser statt self $this benutzt wird.

            Das Problem ist also nicht das $this, auch wenn aus dem Codeschnipsel nicht hervorgeht,

            Eben!

            aus welchem Kontext er gerissen wurde.

            Ja!

            off:PP

            --
            "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
            1. Hi!

              Wenn ich innerhalb einer Klasse $this->params->()
              aufrufe (eine Instanz der Klasse wurde also zuvor erstellt --> $this _ist_ ein Objekt) und 'params' nicht existiert - genauer: kein Objekt ist - erhalte ich die Meldung:
              Call to a member function get() on a non-object!

              Ja, und bei auf E_ALL gesetztem error_reporting gibts vorher sogar noch ein:

              Notice: Undefined property: klassenname::$params

              Fatal error: Using $this when not in object context
              Erhält man, beim statischen Aufruf einer Methode  Object::method1(); und fälschlicherweise in dieser statt self $this benutzt wird.

              Ja, auch der statische Aufruf einer Methode ist genausowenig Objektkontext wie die $this-Verwendung im globalen Kontext oder in einer einfachen Funktion.

              Mit E_STRICT (das nicht in E_ALL enthalten ist) bekommt man einen Hinweis, wenn man nicht-statische Methiden statisch und umgekehrt aufruft.

              Lo!

              1. Hi!

                Wenn ich innerhalb einer Klasse $this->params->()
                aufrufe (eine Instanz der Klasse wurde also zuvor erstellt --> $this _ist_ ein Objekt) und 'params' nicht existiert - genauer: kein Objekt ist - erhalte ich die Meldung:
                Call to a member function get() on a non-object!

                Ja, und bei auf E_ALL gesetztem error_reporting gibts vorher sogar noch ein:

                Notice: Undefined property: klassenname::$params

                Ja!

                Fatal error: Using $this when not in object context
                Erhält man, beim statischen Aufruf einer Methode  Object::method1(); und fälschlicherweise in dieser statt self $this benutzt wird.
                Ja, auch der statische Aufruf einer Methode ist genausowenig Objektkontext

                Nein - es ist allein Klassenkontext, denn die Klasse wird nicht instanziiert!

                wie die $this-Verwendung im globalen Kontext oder in einer einfachen Funktion.

                Mit E_STRICT (das nicht in E_ALL enthalten ist) bekommt man einen Hinweis, wenn man nicht-statische Methiden statisch und umgekehrt aufruft.

                Auch richtig - ich hatte Dir eigentlich beipflichten wollen, denn Dein erster Einwand in diesem Thread war korrekt - aber dieser Satz ist in meiner Antwort an Dich nicht zu lesen. Seltsam... aber so steht es geschrieben!

                off:PP

                --
                "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. <?php $pageview = JRequest::getVar('view', '');

    $jb_frontpage = $this->params->get('showfrontpagearticles'); ?>

    
    > dort zeigt es mir immer diesen Fehler an "Fatal error: Call to a member function get() on a non-object"  
      
    Beschäftige dich mit den Grundlagen zum Thema [objektorientierter Programmierung mit PHP](http://www.php.net/manual/de/language.oop5.basic.php).