qué - Aparatos ortopédicos o sentencias de dos puntos en PHP: ¿cuál proporciona un mejor rendimiento y compatibilidad de código?
sintaxis de php (5)
Estaba revisando muchos fragmentos de código, y he encontrado que las personas pueden usar los siguientes dos métodos en una declaración if
:
Método 1:
<?php
if ($condition) {
// Do this
}
?>
Método 2:
<?php
if ($condition):
// Do this
endif;
?>
Entonces, ¿qué método es más compatible con compiladores de PHP y versiones con PHP, o no hay una diferencia perceptible entre los dos?
Ambos son exactamente equivalentes. Consulte la guía de estilo de su organización para determinar cuál debe usar.
Como he visto hasta ahora, en mi aplicación, no hay diferencia entre ellos, pero puede tener muchos problemas si los mezcla sin una regla, ya que es posible obtener algunos errores y buscará en un rizado pero No has usado rizado. Elija una sintaxis y un uso exclusivo.
Esta sintaxis alternativa no es de ninguna manera diferente de la sintaxis, quizás, más familiar. Simplemente no mezcles los dos. Existe una sintaxis similar para while
, for
, foreach
y switch
.
Por lo general, debe elegir su sintaxis preferida según la legibilidad y la preferencia de sus equipos.
Lo que realmente podría arrojarte es cuando comienzas a ver "declaraciones if" que hacen mal uso de los operadores de conjunción lógica como los siguientes:
isset( $value ) AND print( $value );
La única diferencia se ve en documentos y proyectos muy grandes. Mi empresa usa llaves en lugar de endif, endelse ... ya que trabajamos en proyectos muy grandes. Cuando se comparan los tamaños de archivo, hay un beneficio al usar llaves. Los archivos más pequeños se cargan más rápido, por lo que trabajamos para reducir cada byte que podamos. Comentamos el refuerzo final para que sea más fácil identificar las pruebas y luego eliminar todos los comentarios para producción.
La mayoría de las veces, la sintaxis alternativa (endif) se usa en los scripts de vista. A menudo es difícil ver / notar el final de una instrucción if, ya que una llave solo ocupa un carácter, cuando se encuentra en la parte inferior de un archivo, es difícil saber si es el final de un if o un foreach. Por ejemplo:
<?php if ($condition): ?>
<div>a huge block of html</div>
<?php endif; ?>