dedlfix: Fatal Error

Beitrag lesen

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!