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!