Foros del Web » Programando para Internet » PHP »

Eficiencia para salida HTML

Estas en el tema de Eficiencia para salida HTML en el foro de PHP en Foros del Web. Hola que tal? Bueno, hace algunos meses comencé a desarrollar un sistema que ya tengo bastante avanzado, y también estoy desarrollando otro sistema paralelamente pero ...
  #1 (permalink)  
Antiguo 13/12/2008, 09:22
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Eficiencia para salida HTML

Hola que tal?

Bueno, hace algunos meses comencé a desarrollar un sistema que ya tengo bastante avanzado, y también estoy desarrollando otro sistema paralelamente pero ambos métodos de desarrollo son muy distintos.

Me explico, con el primer sistema, todo lo que sea salida HTML era efectivamente código HTML puro, y el contenido dinámico lo insertaba donde correspondiera abriendo y cerrando etiquetas PHP

Por ejemplo
Código PHP:
<?php while($deposito mysql_fetch_object($depositos)): ?>
        <tr>
            <td class="derecha"><?php echo $deposito->nro_deposito?></td>
            <td class="derecha"><?php echo formato_dinero($deposito->monto); ?></td>
            <td class="centro"><?php echo $deposito->des_banco?></td>
            <td class="derecha"><?php echo $deposito->nro_cuenta?></td>
            <td class="centro"><?php echo $deposito->fecha_deposito?></td>
        </tr>
        <?php $total_depositado += $deposito->monto?>
        <?php endwhile; ?>
El problema, es que se mezcla mucho lo que es HTML y PHP y se torna un poco confuso a veces cuando hay sentencias anidadas y todo eso.

Sin embargo, el sistema mas actual que estoy desarrollando, todas las salidas son complemente generadas por PHP

Código PHP:
echo "<div id=\"pagination\">\n";
        
        if(
$prev_page != -1) {
            echo 
$prev_link;
        }
        if(
$next_page != -1) {
            echo 
$next_link;
        }
        
        
// fin paginacion
        
echo "</div>\n"
Hasta ahora me a sido mas comodo este ultimo metodo. Pero siempre trato de hacer el desarrollo lo mas eficiente posible, y es eso lo que queria preguntar, que es mas eficiente? generar todas las salidas PHP o simplemente cuando sea necesario, abriendo y cerrando las etiquetas donde corresponda ?

Saludos!
__________________
KIBIT.cl
  #2 (permalink)  
Antiguo 13/12/2008, 09:29
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Eficiencia para salida HTML

Hablar de eficiencia no se refiere únicamente a tiempos de ejecución. La eficiencia de un proyecto se ve desde el desarrollo del mismo. Al inicio pensé que tu segundo sistema se basaría en un sistema de plantillas como Smarty, el cual te separa totalmente código PHP de HTML.

Personalmente, uso un sistema de plantillas que programe hace un tiempo. Sencillo, que me permite tener el HTML aparte en archivos .html.

Entre imprimir código HTML fuera de los brackets de PHP y hacerlo con echo o print o funciones afines, creo que no hay diferencia, aunque hay quienes dicen que hacerlo con echo toma mayor tiempo.

Si te interesa el tiempo de ejecución y la carga al servidor, prueba viendo cuál de los dos sistemas carga más rápido (te aseguro que la diferencia son milisegundos). Así, desde este punto de vista, el sistema más eficiente es aquel con el que te sientas más cómodo trabajando.

  #3 (permalink)  
Antiguo 13/12/2008, 09:48
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Respuesta: Eficiencia para salida HTML

Personalmente uso las dos maneras que muestras pero mas la primera.

Si separas la lógica del problema el primer caso es lo mas parecido a una plantilla sin llegar a tener que usar Smarty o similar. Y de esta forma el maquetador que no tiene conocimientos en PHP puede al menos hacer algún que otro retoque.

Si colocas todo el codigo HTML dentro de PHP (segundo caso) no hay maquetador que lo quiera tocar, y si hay retoques por hacer a quien molestan es uno.

En muy pocos casos coloco el codigo HTML dentro de PHP, uno de elllos es por ejemplo una clase para paginación, es algo muy genérico que de ultima se puede modificar su apariencia con hojas de estilos, no es necesario modificar su estructura (HTML).


Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:53.