Uso de echo vs cierre de etiqueta en PHP

  • Autor Autor Delmon
  • Fecha de inicio Fecha de inicio
Delmon

Delmon

Épsilon
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Hola colegas programadores,

vengo a consultarles si es que es mejor utilizar echo en PHP o es mejor cerrar la etiqueta php?

Es decir, es mejor:

PHP:
<?php
$saludo = $_GET['texto'];
echo '<div style="float:left;"><h2>'.$saludo.'</h2></div>';
?>

O :

PHP:
<?php $saludo = $_GET['texto']; ?>
<div style="float:left;"><h2><?php echo $saludo; ?></h2></div>

Espero su respuesta y un porque :$
 
Prefiero la segunda opción, más por los colores del editor, usandolo de esta forma el editor sigue respetando los colores de la sintaxis HTML, en cambio, usando la primera opción, todo se tornaría de un color y a la hora de editar se haría un lío.

Hablando de memoria en el servidor, la segunda opción es mejor, pues el PHP no interpretaría el código HTML simple, solamente interpretaría la variable que le corresponde.

Aunque prefiero escribirlo asi:
PHP:
<?=$saludo?>
en lugar de:
PHP:
<?php echo $saludo; ?>

Saludos.
 
yo lo mejoraria aun mas con un css y dejas mas simplificado el comando
 
La segunda opcion es la mejor, utiliza menos recursos en tu servidor.
 
Interesante opinion la de ustedes, aunque ésta pregunta la formulé principalmente guiándome de Wordpress, la cual usa PHP cerrando las etiquetas en vez de echo.

Alguien sabe por qué?
 
Supongo que si, siendo ese el caso creo que lo mejor sería utiliza echo
 
Por estandar, te conviene el <?=$valor;?>, para tener separado el html del php
 
siento decirte que estas equivocado, la primera opción chupa menos recursos y ahora voy a explicarlo.

PD: me gustaría que explicases tu hipótesis.

Enlace eliminado

La imagen que veis, son 2 pruebas que he realizado, la primera es ejecutar un archivo php sin cerrar los php, sacando una captura de la memoria usada antes y después, y la segunda foto es cerrando los phps. como podéis ver la diferencia es menor en la primera imagen.

El tema es que esto es un script simple, y es una visita, pero son mas de 100kb lo que estamos ahorrando por visita.

php 1
PHP:
<?php$nombre = "julio"; echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";echo "hola {$nombre} como estas? todo bien? <b>OK!</b>";echo "<br />";

php 2
PHP:
<?php $nombre = "julio";  ?>hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";hola <?php echo $nombre; ?> como estas? todo bien? <b>OK!</b>echo "<br />";

consume menos recursos de cpu cerrando las etiquetas php.

1. Repite la prueba, reiniciando el servidor, o haciendo el cerrado primero.
2. por lo general se usan muchos lenguajes de programacion para un sitio web (html, css, php, javascript, ajax, mysql) y hay que tener en lo mas posible no mesclar los lenguajes porque a la hora de hacer modificaciones se convierte en un verdadero campo minado. hay que tenerlo bien extructurado como lo hace symfony(framework)
 
La segunda opción me parece mas práctica
 
Yo prefiero la primera porque con la segunda tengo que andar "Abre y Cierra" cada vez que quiero usar HTML y si quiero usar una variable dentro del HTML tengo que "Abrir, Colocar variable y Cerrar".
 
En cuanto a mi experiencia la primera te puede servir para cuando (por ejemplo) haces un echo a un <div> en relacion de lo que tengas en la BD, es decir, vas a tener tantos Div's como Row's tengas en la tabla, segun la consulta. Asi cuando elimines un dato de la tabla, por ende, se escribirá un <div> menos.

La segunda opcion no sabría decirte para que tecnica constructiva es aplicable.

saludos.
Franco.
 
Última edición:
la segunda por limpieza y visual es la mejor, por estandarización, si haces un código es mas facil usarlo o modificarlo, además si encierras todo puedes causar problemas de seguridad si no sabes bién lo que haces, por ejemplo ingresar carácteres como el signo peso $ dentro de un echo con comillas dobles, eso causará una ejecución de código porque podrá llamar talves funciones como pasa en smf y vbulletin.

Para mas seguridad yo uso la segunda y lo he hecho por mas de 3 años.

De hecho la segunda debería consumir menos memoria, pero porque te salió que la primera consume menos?
porque solo haces un echo pero a la hora que quieras hacer un if o un for o un catch te saldrá mucho mas pesado cerrar un echo, lanzar el if y crear otro echo que abrir y cerrar tags.

Toma un theme de wordpress, toma solamente el archivo que tenga mas tags de abre y cierra y tomale el estado cuanta memoria utiliza, luego cierra todos los tags y haz uno solo con echos y cats y vuelve a medirlo.

De todas formas es mas por una cosa de estética.
Algo similar a python, autoidentado y esas cosas, de hecho el autoidentado causa un consumo de memoria al cargar el script en el interpretador que perl pero se compensa porque el interpretador es mas rápido.
 
La primera. Yo programaría todo en php echo y derecho


Para que abrir y cerrar tantas veces php si con wp-cache o quickcache todo queda cacheado como html en el servidor?
 
Yo tambien prefiero la segunda.
Antes cuando empezaba con php si utilizaba la primera, pero al final me es más cómodo la segunda opción, y la verdad que no me lo habia planteado hasta el momento de leer este tema por qué utilizo esta forma.
Me interesa este tema y sobretodo saber cual de las dos es mejor.
 
Yo prefiero abrir <?php y cerrar ?> y mantener separados el código php del html. Es mucho más fácil a la hora de editar como todos comentan. Y la verdad nunca he hecho pruebas de rendimiento con las dos formas pero he leido que lo mejor es hacerlo de esta manera, le dejas menos datos que procesar al servidor, ya que tiene que procesar todo lo que este dentro de las etiquetas de php aunque sea un string con html.

Por algo lo hace Wordpress de esa manera 🙂

Saludos
 
Yo siempre que utilizo php en la vista utilizo la segunda forma, para tener un poco mas entendible el codigo, pero ahorita lo programo en capas, una para puro html, otra con javascript y la otra de php, lo que hago es que los php me devuelvan ya sea json o xml, y con javascript lo parseo y lo inserto en el html, asi los recursos se consumen del lado del cliente.

Pero es una simple opinion haganle como les convenga
 
Eso yo creo que es mas bien segun la forma que tu tengas de trabajar tu, o tu equipo en caso de trabajar en una empresa, yo prefiero la primera 😀
 
Según, para un solo dato la segunda, si me meto ya en algo más complejo (suele ser siempre esto :s) la segunda.
 

Temas similares

Atrás
Arriba