9
Nov
07

Utilizando Smarty para nuestras aplicaciones en php

smarty.jpg

Sin duda los patrones de diseño de software van cambiando(MVC) y con esto van saliendo nuevas aplicaciones que nos facilitan el trabajo, una de estas se llama Smarty .

Basicamente Smarty es una clase de PHP que genera contenidos web mediante la colocación de etiquetas propias , si has desarrollado en Ruby on Rails te podrás dar cuenta de la separación que tiene nuestro código con el diseño de la web , esto hace Smarty para PHP.

Graficamente se puede representar así:

grafico.jpg

La gran ventaja es que separamos la programación de php con el código html , los beneficios son : mejor mantenimiento al código php, si quieres cambiar de diseño solo modificamos los html con smarty , menos errores por que hay menos código y lo mas importante mejor escalabilidad en la aplicación.

Ahora vamos a lo que más nos interesa el código :)

1: Primero bajamos la ultima versión de Smarty .

2: Vamos a crear un directorio para hacer nuestro primer ejemplo de la siguiente manera:

directoriosmarty

3: Creamos el archivo libs.inc.php

PHP:
  1. <?php
  2.  
  3. $fixpath = dirname(__FILE__);
  4.  
  5. //Dirección donde esta ubicada la carpeta smarty que bajamos
  6. define ("SMARTY_DIR", "smarty/libs/");
  7. require_once (SMARTY_DIR."Smarty.class.php");
  8. $smarty = new Smarty;
  9. //Dirección donde esta ubicada la carpeta compilación de Smarty
  10. $smarty->compile_dir = "$fixpath/compile";
  11. //Dirección donde esta ubicada la carpeta compilación de HTML
  12. $smarty->template_dir = "$fixpath/html";
  13. ?>

4: Creamos el archivo index.php

PHP:
  1. <?php
  2. # filename: index.php
  3. require_once ("./libs.inc.php");
  4.  
  5.  
  6. //Asignamos la variable clase
  7. $smarty->assign ("clase", "Clase PHP");
  8.  
  9.  
  10. $alumnos= array("Javier", "Juan", "Pedro", "Ramiro");
  11.  
  12. //Asignamos el array alumnos
  13. $smarty->assign ("alumnos", $alumnos);
  14.  
  15. //Cargamos el html
  16. $smarty->display ("index.html");
  17. ?>

5: En la carpeta html van estar alojados nuestros archivos con Smarty

HTML:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.  
  3.     <title>Archivo Html</title>
  4. </head>
  5.  
  6.  
  7. {if $clase!=""  }
  8.     <p><b>{$clase}</b></p>
  9.     {else}
  10.     No hay nombre de clase
  11. {/if}
  12. {section name=i loop=$alumnos}
  13. {$alumnos[i]}<br />
  14. {/section}</p>
  15.  
  16.  
  17. </body>
  18. </html>

Son tres archivos que están en este zip tutosmarty revisalos.

Si quieres ver la documentación de la sintaxis de smarty como el if , while , variables , matrices haz click aqui.

por: maximiliano con en Código, PHP, Tutoriales