dedlfix: Verhalten bei fehlenden Konstanten

Beitrag lesen

Tach!

Mir ging es darum, nicht definierte Konstanten erkennen zu können.

Soweit dachte ich mir das auch.

Die Konstanten regeln oft das Laufzeitverhalten und liegen daher im Verantwortungsbreich des Admins oder manchmal sogar des Modulbetreuers oder (über ein Interface) des Users. Der kann also aus der zugehörigen INI leicht eine Zeile rauslöschen oder ungültig machen, ohne dass es weiter auffällt, bzw. es könnte ein Updatefehler der INI-Datei vorkommen.

Ok, in dem Fall muss man mit einem Nichtvorhandensein rechnen.

Bisher regele ich das immer so, dass das Ladeprogramm für die INI alle Konstanten kennt, die erwartet werden. Das prüft also bei jedem Request, ob alle Konstanten vorhanden sind. Das findet natürlich auf Script-Ebene statt.  Ich denke, dass das mehr Kraft kostet, als wenn PHP originär eine Möglichkeit zum Konstantencheck eingebaut hätte.

Und was genau soll es in dem Fall eines Fehlens tun? Das ist ja dann nicht mehr nur zur Entwicklungszeit sondern während des produktiven Einsatzes. In dem Fall finde ich eine Fehlermeldung nicht direkt erstrebenswert. Zumal dann ja auch die Meldungen unsichtbar geschaltet sein sollten.

Außerdem ist das so ziemlicher Programmieraufwand.

Nicht wirklich.

defined('KONSTANTE') || define('KONSTANTE', 'defaultwert');

dedlfix.