2012-06-11 13 views
7

Esta es solo una pregunta general de PHP. ¿Ayuda o duele tener múltiples <?php CODE ?> en mis scripts?Múltiples etiquetas PHP

Estaba viendo algunos de mis scripts y noté que algunos de ellos tienen 3-4 en él. No sé si esto está causando lentitud en mi sitio o no :)

+0

eliminó mi pregunta jaja .... ayuda a tener varios

+0

Lea: http://c2.com/cgi/wiki?FirstRuleOfOptimization –

+0

Puede hacerlo, pero personalmente me gusta tener solo 1 etiqueta de apertura (y no de cierre) – Bono

Respuesta

12

No, no está causando lentitud o problemas. Es perfectamente común tener docenas o cientos de bloques separados <?php ?> en plantillas.

0

no, no hace ningún daño, pero si usted está haciendo esto, por ejemplo:

<div><?php echo $x; ?></div> 

puede usar etiquetas cortas (si está activada en la configuración de php)

<div><? echo $x; ?></div> 

Si usted quiere tratar de reducir el número de etiquetas PHP entonces usted podría incluso eco de su html así:

echo '<div>'.$x.'</div>'; 
+6

No se alienta el uso de etiquetas cortas ya que muchos servidores no los tienen habilitados. Sea seguro y use los normales, no querrá tener que reemplazarlos en toda la aplicación cuando migre a otro servidor sin tener la capacidad de cambiar esa configuración en particular. – Sherlock

+2

Creo que la última solución es exactamente lo contrario de lo que él quiere. Al hacer eso, el intérprete php generará toda la página html y eso es más lento que hacer solo un pequeño cambio. ¿No es así? – Zagorax

+0

Personalmente, nunca he usado etiquetas cortas, pero pensé que a OP podría gustarle la opción. – martincarlin87

1

Si yo lo está usando incrustado en páginas html (y creo que lo es si tiene bloques PHP múltiples), es normal y no creo que haya una manera de evitarlo.

Si tiene un script externo, no hay razón para tener varios bloques. Aunque no creo que afecte el rendimiento.

3

Supongo que te refieres a varias etiquetas de cierre de apertura de PHP &.

Como en los casos en los que desea hacer eco de un bloque grande de marcado HTML, siempre es mejor cerrar la etiqueta php?> Y luego volver a iniciarla cuando sea necesario. Por ejemplo:

<?php 
if($ok) { 
    ?> A large 
    block 
    HTML MarkUp text 
<?php 
} //End of if($ok) 
?> 

En realidad, mejora la velocidad que el control no va a analizar toda la gran bloque anterior y simplemente pasar a la siguiente <? etiqueta php o If end point, en comparación con hacer eco de todas estas líneas.

+0

personalmente prefiero ' Lotes de html '. Pero sí. Esto también funciona :) – cHao

+0

@cHao Entonces, ¿está usando algún tipo/variación de operador ternario? Estoy preguntando por: en tu código. – DavChana

+1

Esa es [la sintaxis alternativa de PHP para las estructuras de control] (http://php.net/manual/en/control-structures.alternative-syntax.php). 'if ($ x):/* cosas aquí */endif;' es funcionalmente equivalente a 'if ($ x) {/ * algunas cosas aquí * /}', pero 'endif' explícitamente dice" estoy cerrando un ' if 'block" (mientras que '}' dice "estoy cerrando la última declaración abierta"). Es más fácil hacerlo bien, OMI. Particularmente cuando lo está usando para generar grandes cantidades de HTML (donde el inicio de la declaración ya no puede estar en la pantalla) ... o están cambiando regularmente de modo PHP. – cHao