Smarty: Separando la lógica de aplicación y contenido de su presentación
Juan Pablo Aqueveque
Mi primera página con PHP
...
<body>
<?php
echo "Hola mundo desde PHP";
?>
</body>
</html>
Mi primera página con PHP
...
<body>
<?php
echo "Hola mundo desde PHP";
?>
</body>
</html>
¡Qué Emoción!, ya aprendí PHP
El Hola mundo
comienza a crecer
El Hola mundo
comienza a crecer
...</tr>
<? $cont=1;
$total=0;
while ($db->next_record())
{?>
<tr>
<td><? echo $cont ?></td>
<td><? echo $db->Record['rut']?></td>
<td><? echo $db->Record['valor']?></td>
<? $total=$db->Record['valor']+$total?>
</tr>
<? $cont++;?>
<? }?>
<tr>
<td colspan="6"> </td>
<td><strong>Total</strong></td>
<td><? echo $total ?></td>
</tr>
<? echo $tolal;?>
...
Aplicaciones Engendro
- Mezcla de código XHTML y PHP
- Crecimiento en el tiempo
- Código ininteligible
- Dura mantención de su autor
- Ni hablar de un tercer desarrollador
- !#$%$#@ (palabrotas) sobre el trabajo del colega
Problemas adicionales
- Jefe:
necesitamos cambiar algunas cosas de la página (color, banners, íconos, etc..)
- Exclamación mental —poco amigable— por la solicitud directiva
- Duros dolores de cabeza para luchar contra el engendro y satisfacer al Jefe
- Quieres llegar antes de navidad a tu casa
Solución: Separar PHP de XHTML
Solución: Separar PHP de XHTML
Para:
- Ordenar tu trabajo
- Centrar tu talento sólo en código PHP
- Rapidez en detectar y solucionar problemas en la aplicación
- Dulce mantención del código
- El XHTML se lo dejamos a un prodigio en el tema
- ...llegar antes de navidad a tu casa
¿Por qué Smarty?
- Probada eficacia
- La más rápida de todas
- Extensa documentación y comunidad
- Gran cantidad de plug-ins
- El dominio del su sitio web lo dice todo (smarty.php.net)
Instalando Smarty
Se requiere PHP 4.0.6 o superiores
Instalando Smarty
- Crear directorio:
templates
- Crear directorio:
templates_c
- Crear directorio:
configs
- Crear directorio:
cache
- Cambiar acceso y dueño a
templates_c
:
# chmod 775 templates_c
# chown apache:apache templates_c
Instalando Smarty
Estructura hasta el momento
\
\libs
Smarty.class.php
Smarty_Compiler.class.php
Config_File.class.php
debug.tpl
/core/
/plugins/
\templates
\templates_c
\configs
\cache
...Todo listo
bon appetit... a programar se ha dicho