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
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)