Als ich PHP lernte, las ich irgendwo, dass Sie immer die Großbuchstaben von Booleschen verwenden sollten, TRUE
und FALSE
weil die "normalen" Kleinbuchstaben true
und false
"nicht sicher" zu verwenden waren.
Es ist jetzt viele Jahre her und jedes PHP-Skript, das ich geschrieben habe, verwendet die Großbuchstabenversion. Jetzt stelle ich dies jedoch in Frage, da ich viel PHP gesehen habe, das mit der Kleinbuchstabenversion (dh Zend Framework) geschrieben wurde.
Gibt es / gab es jemals einen Grund, die Großbuchstabenversion zu verwenden, oder ist es vollkommen in Ordnung, Kleinbuchstaben zu verwenden?
edit: Ich habe vergessen zu erwähnen, dass dies auch für NULL
und gilt null
.
php
language-history
Austin Hyde
quelle
quelle
Antworten:
Das offizielle PHP-Handbuch sagt:
Also ja
true === TRUE
undfalse === FALSE
.Persönlich aber ziehe ich
TRUE
übertrue
undFALSE
überfalse
für die bessere Lesbarkeit. Es ist der gleiche Grund für meine Präferenz für die Verwendung vonOR
overor
oder||
und für die Verwendung vonAND
overand
oder&&
.Das PSR-2 - Standard erfordert
true
,false
undnull
in Kleinbuchstaben zu sein.quelle
OR
und||
verschiedene Operatoren in PHP sind (wie in sie unterschiedlichen Vorrang hat), so istAND
und&&
. (Also zum Beispiel&&
und||
haben eine höhere Priorität als die Zuweisungsoperatoren, aberOR
undAND
sind es nicht.)Viel Spaß beim Debuggen! (PHP < 5.1.3 (2. Mai 2006) , siehe Demo )
Bearbeiten: Großbuchstaben sind Konstanten und Kleinbuchstaben sind Werte. Sie interessieren sich für den Wert, nicht für die Konstante, die sich leicht ändern kann.
quelle
T_NULL
,T_TRUE
undT_FALSE
zur Analysezeit), Groß- und Kleinschreibung zu verwenden, daNULL
ist nicht wirklich eine „Konstante“ --- es sei denn, Sie machen es zu einer Konstantendefine()
. Einfach zu verwendenNULL
oderTRUE
bedeutet nicht, dass es eine Konstante ist, als ob es keine solche Konstante gibt, interpretiert PHP sie als das Literal. Eine genauere Beschreibung ist, dass die Kleinbuchstabenversionen nicht neu definiert werden können, wohingegen jede andere Fallvariante dies kann .Verwenden Sie Kleinbuchstaben.
quelle
Wenn Sie JSON verwenden möchten, lautet RFC7159 :
Aus der Liste der rückwärts inkompatiblen Änderungen in PHP 5.6 :
Gemäß PSR-2-Standard :
quelle
json_encode(TRUE)
undjson_encode(true)
Ausbeute'true'
.Ich habe TRUE / FALSE-Boolesche Werte im C-Stil wie alle Konstanten in Großbuchstaben verwendet, bis ich in den PSR- Zug eingestiegen bin .
Abschnitt 2.5 von PSR-2:
Wenn Sie also mit Open-Source-Details gut spielen möchten, müssen Boolesche Werte in Kleinbuchstaben geschrieben werden.
quelle
Es spielt keine Rolle,
true
ist genau das gleiche wieTRUE
. Gleiches gilt fürfalse
undnull
. Ich habe nicht gehört, dass es irgendwann wichtig gewesen wäre.Die einzige Möglichkeit, Dinge durcheinander zu bringen, besteht darin, diese Werte anzugeben, zum Beispiel:
Das einzige, was Sie einschränkt oder ermutigt, Groß- oder Kleinbuchstaben zu verwenden, sind möglicherweise die Kodierungsrichtlinien Ihres Unternehmens oder Ihrer eigenen. Abgesehen davon können Sie beide verwenden, und es treten keine Probleme auf.
quelle
false
undnull
wäre das gleiche. Ich sagte, dass "dasselbe gilt fürfalse
undnull
", was bedeutet, dass beide in Klein- oder Großbuchstaben ausgedrückt werden können.Ich habe einfachen Code geschrieben, um die Unterschiede zwischen false und FALSE zu überprüfen : Jede Iteration hat etwas bewirkt , das:
Hier sind die Ergebnisse:
Wir können also sehen, dass die Leistung durch den Booleschen Fall nur geringfügig beeinflusst wird - Kleinbuchstaben sind schneller. Aber du wirst es bestimmt nicht sehen.
quelle
Persönlich habe ich immer Kleinbuchstaben verwendet, aber ohne besonderen Grund, außer um meinen Code ordentlich aussehen zu lassen, verwende ich nur Großbuchstaben, wenn Klassennamen und Variablennamen von Kamelhüllen verwendet werden.
Ein Vorteil bei der Verwendung von Großbuchstaben, der mir in den Sinn kommt, ist, dass sie hervorstechen und im Code leicht zu finden sind.
quelle
Ich bin auf diese alte Frage gestoßen, als ich mir das Gleiche gefragt habe. Guter Punkt mit define ('TRUE', false); define ('FALSE', true); Gilt jedoch nicht für PHP5. Das Schreiben dieser Zeilen in einen PHP5-Code ist wie das Schreiben eines Kommentars.
quelle
Hier ist mein TEST unter Windows 7x64bit Apache / 2.4.9 PHP / 5.5.14
Diesmal hat FALSE 20 Mal gewonnen. Großbuchstaben sind in meiner Umgebung also schneller.
quelle