Cuando estaba aprendiendo PHP, leí en alguna parte que siempre debes usar las versiones en mayúsculas de booleanos TRUE
y FALSE
, debido a que las versiones en minúsculas "normales", true
y false
, no eran "seguras" de usar.
Han pasado muchos años, y cada script PHP que he escrito usa la versión en mayúsculas. Ahora, sin embargo, estoy cuestionando eso, ya que he visto un montón de PHP escrito con la versión en minúsculas (es decir, Zend Framework).
¿Alguna vez hubo alguna razón para usar la versión en mayúscula, o está perfectamente bien usar la minúscula?
editar: Olvidé mencionar que esto se aplica a NULL
y null
también.
php
language-history
Austin Hyde
fuente
fuente
Respuestas:
El manual oficial de PHP dice:
Entonces sí,
true === TRUE
yfalse === FALSE
.Personalmente, sin embargo, prefiero
TRUE
unatrue
yFALSE
otra vezfalse
por razones de legibilidad. Es la misma razón por la que prefiero usarOR
overor
o||
, y usarAND
overand
o&&
.El estándar PSR-2 requiere
true
,false
ynull
estar en minúsculas.fuente
OR
y||
son diferentes operadores en PHP (ya que tienen una precedencia diferente), como sonAND
y&&
. (Así, por ejemplo&&
y||
son más altos precedencia que los operadores de asignación, peroOR
yAND
no lo son.)¡Feliz depuración! (PHP < 5.1.3 (2 de mayo de 2006) , ver demostración )
Editar: las mayúsculas son constantes y las minúsculas son valores. Usted está interesado en el valor, no en la constante, que puede cambiar fácilmente.
fuente
T_NULL
,T_TRUE
yT_FALSE
en tiempo de análisis), son entre mayúsculas y minúsculas, por lo que el usoNULL
no es en realidad una "constante" --- a menos que lo conviertas en una constante, usandodefine()
. Simplemente usandoNULL
oTRUE
no significa que es una constante, como si no hubiera tal constante, PHP lo interpreta como el literal. Una descripción más precisa es que las versiones en minúsculas no se pueden redefinir, mientras que cualquier otra variación de caso sí se puede .Use minúsculas.
fuente
Si tiene la intención de utilizar JSON, RFC7159 dice:
De la lista de cambios incompatibles con versiones anteriores en PHP 5.6 :
De acuerdo a estándar PSR-2 :
fuente
json_encode(TRUE)
yjson_encode(true)
rendimiento'true'
.Solía hacer booleanos de estilo C VERDADERO / FALSO como todos los concursos, en mayúsculas, hasta que llegué al PSR carro de .
Sección 2.5 de PSR-2:
Básicamente, si quieres jugar bien con detalles de estilo de código abierto, los booleanos deben ser minúsculas.
fuente
No importa,
true
es exactamente lo mismo queTRUE
. Lo mismo vale parafalse
ynull
. No he escuchado que hubiera importado en ningún momento.La única forma de desordenar las cosas es citando esos valores, por ejemplo:
Lo único que puede restringirlo o alentarlo a usar mayúsculas o minúsculas puede ser su empresa o sus propias pautas de codificación. Aparte de eso, eres libre de usar cualquiera de los dos y no dará lugar a ningún problema.
fuente
false
ynull
sería lo mismo. Dije que "lo mismo vale parafalse
ynull
", lo que significa que ambos pueden expresarse en letras minúsculas o mayúsculas.He escrito un código simple para verificar las diferencias entre falso y FALSO : cada iteración estaba haciendo algo que:
Aquí están los resultados:
Por lo tanto, podemos ver que el rendimiento se ve ligeramente afectado por el caso booleanos: las minúsculas son más rápidas. Pero ciertamente no lo verás.
fuente
Personalmente, siempre he usado la forma en minúscula, pero por ninguna razón en particular que no sea para hacer que mi código se vea ordenado, el único lugar donde uso letras mayúsculas es cuando los nombres de las clases y los nombres de variables de la carcasa de camello.
Sin embargo, una de las ventajas de usar mayúsculas es que destacan y son fáciles de encontrar en el código.
fuente
Encontré esta vieja pregunta mientras me preguntaba lo mismo. Buen punto con define ('VERDADERO', falso); define ('FALSO', verdadero); Sin embargo, no se aplica a php5. Escribir esas líneas en un código php5 es como escribir un comentario.
fuente
Aquí está mi PRUEBA en Windows 7x64bit Apache / 2.4.9 PHP / 5.5.14
Esta vez FALSO ganó 20 veces. Entonces mayúsculas es más rápido en mi entorno.
fuente