Foros del Web » Programando para Internet » PHP »

How to...plantilla html+php con funcion replace

Estas en el tema de How to...plantilla html+php con funcion replace en el foro de PHP en Foros del Web. Hola a todos , hasta ahora mis plantillas de php y html las usaba de tal manera que al html le pasaba un array de ...
  #1 (permalink)  
Antiguo 31/01/2013, 15:40
 
Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años
Puntos: 1
How to...plantilla html+php con funcion replace

Hola a todos , hasta ahora mis plantillas de php y html las usaba de tal manera que al html le pasaba un array de php y realizaba un bucle for e iba haciendo echos... pero e visto que existe una manera más "profesional" de hacerlo que es por medio de la funcion replace y con etiquetas como aqui:

Código PHP:
Ver original
  1. class Template{
  2.  
  3. $private $output = '';
  4.  
  5. public function Load_Template($template){
  6.     ob_start();
  7.     include($template);
  8.     $this->output = ob_get_clean();
  9. }
  10.  
  11. public function Replace($data){
  12.     $this->output = str_replace(array_keys($data), array_values($data), $this->output);
  13. }
  14. public function Display($add_footer = true){
  15.     echo $this->output;
  16. }
  17. }
  18.  
  19. <div>{username}</div>
  20.  
  21.  
  22. <ul>
  23.     <li>{username}</li>//Loop this line for each user
  24. </ul>

pero en el caso de que tenga que hacer una iteracion como los for que hacia como se haría con este sistema? meteria un for tb??? por lo tanto estaria metiendo php en el html q es lo que parece que se pretende evitar no??

Gracias!
  #2 (permalink)  
Antiguo 31/01/2013, 16:04
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: How to...plantilla html+php con funcion replace

No sé por qué crees que eso es más "profesional".No necesariamente.PHP es un lenguaje de "plantillas".Es por eso que convive bien incrustado dentro de HTML.
Si vas por ese camino, usa directamente Smarty. Porque el problema que tienes con los for, lo vas a encontrar con los "ifs", con los "switch"...asi que, tendrás que crear otro lenguaje, que es lo que hace Smarty.
Personalmente, no creo que eso aporte nada.Parece que si no usas php dentro de las plantillas, estás haciendo "separación entre vista y modelo"...como si eso dependiera de cambiar el lenguaje de programación.Si fuera así, habría que inventarse otro lenguaje para los controladores...o para el modelo..quien sabe..

Hay "mitos" en el desarrollo web, y el de "no meter php en el html" es uno de ellos.PHP está *diseñado* para estar dentro de HTML.Significa eso que TODO el código php está mezclado con HTML? En absoluto.
El problema, es que esa frase , "no meter php en el html", es una forma tosca de resumir "no mezclar código de modelo con código de vista".Si con lo que te quedas es con la frase, no sólo no ves el por qué.Sino que, además, puedes acabar con código de modelo y controlador mezclado.Pero pensar que tienes un buen diseño porque "no tienes php en el html".

Ya sé que es autobombo, pero échale un ojo a mi sistema de plantillas (link en mi firma).
  #3 (permalink)  
Antiguo 01/02/2013, 04:44
 
Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años
Puntos: 1
Respuesta: How to...plantilla html+php con funcion replace

Interesante opinion, alguien más?
  #4 (permalink)  
Antiguo 01/02/2013, 06:51
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: How to...plantilla html+php con funcion replace

Un template engine es bastante mas que un replace, te dejo una referencia http://fabien.potencier.org/article/...engines-in-php y si te sugiero que le des un vistazo a Twig, para mi a día de hoy es por lejos el mejor engine para PHP.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 01/02/2013, 08:31
 
Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años
Puntos: 1
Respuesta: How to...plantilla html+php con funcion replace

le he echado un ojo y parece muy completa.... sigo con los ojos abiertos ;)

Etiquetas: funcion, html, replace
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 14:31.