Ich habe eine Datenbankklasse, die automatisch eine Verbindung zur Datenbank einrichtet und einige grundlegende Eingabefilterung und whatnot tut. Ich habe vor, einige vordefinierte Konstanten zu setzen, um das Verhalten der Klassenmethoden anzupassen. Welche Werte sollte ich für die Konstanten festlegen? Da die Werte nie direkt angesprochen oder verglichen werden, sondern nur im Kontext des Konstantennamens, spielt der Wert überhaupt eine Rolle?
Eine Strategie, auf die ich gestoßen bin, besteht darin, eine Konstante auf einen Bitwert zu setzen, so dass bitweise Operatoren verwendet werden können, um Konstanten zu kombinieren. In diesem Fall sieht es nicht so aus, als ob diese Funktionalität notwendig wäre, aber man weiß ja nie.
Oft erhalte ich Meldungen wie
Notice: Use of undefined constant CONSTANT_VALUE - assumed 'CONSTANT_VALUE'
Ist dies die Behandlung der Konstante wie die Zeichenfolge 'CONSTANT_VALUE' oder die Konstante CONSTANT_VALUE? Sollte ich den Wert meiner Konstanten als gleichnamige Zeichenketten definieren, um dies zu kompensieren? Dies tritt auf, wenn ich Konstanten verwende, von denen ich weiß, dass sie irgendwann definiert werden, wie DOCUMENT_ROOT.
Gibt es eine bessere Praxis als diese beiden?