Hallo,
[...] müsste der PHP-Interpreter an diesen zwei Stellen eine Warnung schmeißen, bevor er sich widerwillig entschließt, die vermeintliche Konstante klaus als String "klaus" zu interpretieren.
Nein, er schmeißt keine Warnung sondern nur eine Notiz
das hatte ich eigentlich auch gemeint, sorry. Ich bin aus dem Bereich der C-Compiler nur die Unterscheidung zwischen Error und Warning gewöhnt. Zumal PHP auch bei meiner Ansicht nach schwerwiegenden Fehlern (uninitialisierte Variablen, vermeintlich benannte Konstanten anstatt String-Literale) nur eine Notice wirft, während ich das eher als Error einstufen würde. Die Unterscheidung zwischen Warning und Notice ist in meinen Augen aber unerheblich, denn ...
und auch das nur, wenn man ihn mit auf E_ALL gestelltem error_reporting darum bittet.
... das halte ich (jedenfalls während der Entwicklungsphase) für eine Selbstverständlichkeit, und das ...
Standardmäßig sind Notice-Meldungen ausgeschaltet.
... für fahrlässig - vor allem als Defaulteinstellung in Paketen wie XAMPP, die ja ausdrücklich nicht für den Produktiveinsatz empfohlen werden.
Der wichtigste fehlte: Kontrollausgaben der Variableninhalte! Wunsch und Wirklichkeit lassen sich mit var_dump() gut vergleichen.
ACK.
So long,
Martin
Die beste Informationsquelle sind Leute, die jemand anderem versprochen haben, nichts weiterzuerzählen.
(alte Journalistenweisheit)