Diferencia entre revisiones de «Smarty»

Línea 9: Línea 9:
 
|descripción2=
 
|descripción2=
 
|creador=
 
|creador=
|desarrollador=Monte Ohrt, Messju Mohr [www.smarty.net]
+
|desarrollador=Monte Ohrt, Messju Mohr www.smarty.net
 
|diseñador=
 
|diseñador=
 
|modelo de desarrollo=
 
|modelo de desarrollo=
Línea 40: Línea 40:
 
El diseño de Smarty está dirigido por estos objetivos:
 
El diseño de Smarty está dirigido por estos objetivos:
  
    * Limpia separación entre la presentación y lógica de la aplicación.
+
* Limpia separación entre la presentación y lógica de la aplicación.
    * Complementar PHP, no reemplazarlo.
+
* Complementar PHP, no reemplazarlo.
    * Rápido desarrollo e implantación por parte de desarrolladores y diseñadores.
+
* Rápido desarrollo e implantación por parte de desarrolladores y diseñadores.
    * Rápido y sencillo de mantener.
+
* Rápido y sencillo de mantener.
    * Sintaxis fácil de entender y sin conocimientos de PHP.
+
* Sintaxis fácil de entender y sin conocimientos de PHP.
    * Libre, código abierto
+
* Libre, código abierto
  
 
== Ejemplo ==
 
== Ejemplo ==
Línea 72: Línea 72:
 
index.tpl
 
index.tpl
  
<syntaxhighlight lang="html">
+
<syntaxhighlight lang="html4strict">
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
  <html lang="es">
 
  <html lang="es">
Línea 90: Línea 90:
 
Salida HTML generada
 
Salida HTML generada
  
<syntaxhighlight lang="html">
+
<syntaxhighlight lang="html4strict">
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
  <html lang="es">
 
  <html lang="es">
Línea 108: Línea 108:
 
== Sitios que utilizan Smarty ==
 
== Sitios que utilizan Smarty ==
  
Existe una gran cantidad de sitios utilizando Smarty como motor de plantillas, una lista mas completa se puede encontrar en [http://smarty.incutio.com/?page=SitesUsingSmarty]. Entre dichos sitios se pueden mencionar:
+
Existe una gran cantidad de sitios utilizando Smarty como motor de plantillas, una lista mas completa se puede encontrar en http://smarty.incutio.com/?page=SitesUsingSmarty. Entre dichos sitios se pueden mencionar:
* XOOPS CMS [http://www.xoops.com]
+
* [http://www.xoops.com XOOPS CMS]
* CMS Made Simple [http://www.cmsmadesimple.org/]
+
* [http://www.cmsmadesimple.org/ CMS Made Simple]
* Tiki CMS/Groupware [http://www.tikiwiki.org/]
+
* [http://www.tikiwiki.org/ Tiki CMS/Groupware]
  
 
== Véase también ==
 
== Véase también ==

Revisión del 18:23 13 abr 2011

Smarty
Información sobre la plantilla
Smarty.PNG
DesarrolladorMonte Ohrt, Messju Mohr www.smarty.net
Última versión estable3.0.7
GéneroMotor de plantillas
Sistemas Operativos compatiblesMultiplataforma
IdiomaMultilingüe
LicenciaLicencia Pública General Reducida de GNU

Smarty es un motor de plantillas para PHP, facilitando la separación de la capa de presentación (HTML/CSS) de la lógica de la aplicación (PHP), uno de los objetivos fundamentales del patrón MVC.

Smarty es...

Smarty es un motor de plantillas y funciona como la capa vista de un modelo MVC. Smarty se puede complementar con los frameworks disponibles para PHP. No garantiza un buen diseño gráfico ni de aplicación, o una adecuada separación de la presentación.

En los procesos de desarrollo donde el rol de diseñador y programador no está cubierto por la misma persona, se hace muy complejo para el primero entender el código HTML relativo al diseño cuando este se encuentra ligado y determinado por el código PHP que se encarga de la lógica de la aplicación. Es aquí donde Smarty juega su papel, ya que al usarlo el diseñador trabaja simplemente con un código HTML y algunas etiquetas que representan el contenido.

Smarty no es...

  • Un framework
  • Un MVC
  • Una alternativa a Zend, Code Igniter, o CakePHP

Filosofía

El diseño de Smarty está dirigido por estos objetivos:

  • Limpia separación entre la presentación y lógica de la aplicación.
  • Complementar PHP, no reemplazarlo.
  • Rápido desarrollo e implantación por parte de desarrolladores y diseñadores.
  • Rápido y sencillo de mantener.
  • Sintaxis fácil de entender y sin conocimientos de PHP.
  • Libre, código abierto

Ejemplo

index.php

require_once("smarty/Smarty.class.php");
 
// Instanciar la clase de Smarty
$smarty = new Smarty();
 
// Configurar Smarty
$smarty->template_dir = "./templates/";
$smarty->compile_dir = "./templates_c/";
$smarty->config_dir = "./configs/";
$smarty->cache_dir = "./cache/";
 
// Establecer variables que se usarán en la plantilla
$smarty->assign("nombre", "José Manuel Pardo Pérez");
$smarty->assign("Dirección", "C/ Alpes, 992");
 
// Mostrar la plantilla
$smarty->display("index.tpl");

index.tpl

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html lang="es">
   <head>
     <title>Información del Usuario</title>
   </head>
   <body>
     <p>Información del Usuario:</p>
     <p>
       Nombre: {$nombre}<br />
       Dirección: {$direccion}
     </p>
   </body>
 </html>

Salida HTML generada

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html lang="es">
   <head>
     <title>Información del Usuario</title>
   </head>
   <body>
     <p>Información del Usuario:</p>
     <p>
       Nombre: José Manuel Pardo Pérez<br />
       Dirección: C/ Alpes, 992
     </p>
   </body>
 </html>

Sitios que utilizan Smarty

Existe una gran cantidad de sitios utilizando Smarty como motor de plantillas, una lista mas completa se puede encontrar en http://smarty.incutio.com/?page=SitesUsingSmarty. Entre dichos sitios se pueden mencionar:

Véase también

PHP

Fuentes