Smarty es un sistema de plantillas web escrito en PHP . Smarty se promueve principalmente como una herramienta para separar preocupaciones . [2] Smarty pretende simplificar la compartimentación , permitiendo que el front-end de una página web cambie por separado de su back-end. Idealmente, esto reduce los costos y minimiza los esfuerzos asociados con el mantenimiento del software .
Desarrollador (es) | Monte Ohrt, Messju Mohr, Uwe Tews |
---|---|
Lanzamiento estable | 3.1.38 / 8 de enero de 2021 [1] |
Repositorio | |
Escrito en | PHP |
Tipo | Motor de plantillas |
Licencia | LGPL |
Sitio web | www |
Smarty genera contenido web mediante la colocación de etiquetas especiales Smarty dentro de un documento. Estas etiquetas se procesan y se sustituyen por otro código. Las etiquetas son directivas para Smarty que están encerradas por delimitadores de plantilla . Estas directivas pueden ser variables , indicadas por un signo de dólar ($), funciones, declaraciones lógicas o de bucle . Smarty permite a los programadores de PHP definir funciones personalizadas a las que se puede acceder mediante etiquetas Smarty.
Ejemplo de Smarty
Dado que Smarty separa PHP de HTML, hay dos archivos, uno contiene el código de presentación: una plantilla HTML, que incluye variables y etiquetas de Smarty , que podrían verse así:{$title_text|escape} {$body_html}
< html lang = "en" > < head > < meta charset = "utf-8" > < title > { $ title_text | escape } title > head >< body > { * Este es un pequeño comentario que no será visible en la fuente HTML * } { $ body_html } body > html >
La lógica empresarial para utilizar la plantilla Smarty anterior podría ser la siguiente:
define ( 'SMARTY_DIR' , 'smarty-2.6.22 /' ); require_once ( SMARTY_DIR . 'Smarty.class.php' );$ sabelotodo = nuevo sabelotodo (); $ sabelotodo -> template_dir = './templates/' ; $ sabelotodo -> compile_dir = './templates/compile/' ;$ sabelotodo -> asignar ( 'título_texto' , 'TÍTULO: Este es el ejemplo básico de Sabelotodo ...' ); $ sabelotodo -> asignar ( 'cuerpo_html' , ' CUERPO: Este es el conjunto de mensajes usando asignar ()
' );$ sabelotodo -> display ( 'index.tpl' );
Otras lecturas
- Hasin Hayder; JP Maia; Lucian Gheorghe (2006). Programación y aplicaciones de plantillas PHP Smarty . ISBN 978-1-904-81140-4.
Ver también
Referencias
- ^ https://github.com/smarty-php/smarty/releases/tag/v3.1.38
- ^ Parr, Terence John (2004). Aplicación de una separación estricta de la vista del modelo en los motores de plantilla . Actas de la decimotercera conferencia internacional sobre World Wide Web. ISBN 1-58113-844-X.