Antwort #5 am: 02. März 2015, 14:52:06
define('SECURITY_CODE_LENGTH', '10');
define(SECURITY_CODE_LENGTH, '20');
Das bedeutet das selbe wie,
Wäre zwar von Schreibweise korrekt (bis auf das, dass eine Konstante mit einem Buchstaben oder Unterstrich beginnen muss), aber in dem Fall nicht gewollt,
So wie ich oben angeführt habe, kann es solche Konstellationen geben.
In dem Fall deines ersten Beispiels ist ein
Falsch, in dem sinne das etwas anderes geprüft werden sollte.
In diesem konkreten Fall:
Wenn "SECURITY_CODE_LENGTH" in der DB steht mit "10"
Würde ein
dasselbe bedeuten wie,
Wenn "SECURITY_CODE_LENGTH"
nicht in der DB steht (also auch nicht definiert wird)
Würde ein
dasselbe bedeuten wie,
In diesem Fall ist es aber nicht gewollt Den
INHALT von "SECURITY_CODE_LENGTH" zu prüfen sondern, ob eine Konstante mit dem Namen "SECURITY_CODE_LENGTH" besteht.