Fatal Error
phpLaie
- php
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
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]
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!
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
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!
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
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 MethodeObject::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!
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 MethodeObject::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
<?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).