Smarty
Smarty | |
---|---|
Data prima versione | 2001 e 2002 |
Ùrtima versione | 5.4.2 (21 santandria 2024) |
Limbàgiu | PHP |
Litzèntzia | GNU Lesser General Public License |
Situ web | |
Smarty est unu motore de mollos web iscritu in PHP. Smarty permitit de separare su còdighe PHP, dae su còdighe HTML (sa cara gràfica), e de generare cuntènnidos web pro mèdiu de su càmbiu de is Smarty tag a a intro de su documentu cun su balore de variàbiles e àteru.
Unu tag (marcadore) est una diretiva, serrada intro caràteres ispetziales, interpretada dae su motore de Smarty. Custas diretivas podent èssere variàbiles, identificadas dae su sìmbulu de su dollaru ($), funtziones, o fintzas istrutziones de controllu de su flussu. Smarty permitit a sos programmadores PHP de definire funtziones de inclùdere in sos marcadores matessi de Smarty.
Mollu-Vista-Controllore
modìficaS'astratzione creada dae Smarty cunsentit de separare de s'in totu s'interfàtzia gràfica de una pàgina web (sa presentada) dae su back-end in PHP, donende sa possibilidade de isvilupare aplicatziones prus organizadas e elegantes. S'impreu de Smarty fatzìlitat a is isvilupadores PHP a pònnere in òpera su mollu de isvilupu Mollu-Vista-Controllore (MVC), chi presentat medas avantàgios: est difatis possìbile "cuare" a sos disinnadores web sa lògica de programmatzione de unu situ, mentras sos programmadores ant a traballare sena si curare de s'interfàtzia gràfica.
Caraterìsticas
modìficaSmarty permitit sa programmatzione de mollos pro mèdiu de una sèrie de caraterìsticas, comente:
- espressiones regulares
- foreach, while
- if, elseif, else
- mudadores de variàbile - pro esempru {$variàbile|nl2br}
- funtziones creadas dae s'impitadore
- càrculu matemàticu a s'internu de su mollu
- eredade de is mollos
e medas àteras.
Còdighe de esèmpiu
modìficaSmarty separat su còdighe PHP de s'HTML, duncas amus a tènnere duos archìvios. Su primu est index.tpl:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//IT" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>{$title_text}</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body> {* Custu est unu cummentu chi NO at a èssere visìbile in su còdighe HTML *}
<p>{$body_text}</p>
</body><!-- Custu est unu cummentu chi at a èssere visìbile in su còdighe HTML -->
</html>
In su còdighe de sa lògica (es. index.php) est possìbile tzarrare Smarty pro impreare su mollu:
define('SMARTY_DIR', 'smarty-2.6.9/' );
require_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates/compile/';
$smarty->cache_dir = './templates/cache/';
$smarty->caching = false;
$smarty->assign('title_text', "TÌTULU: Un'esèmpiu de impreu de Smarty...");
$smarty->assign('body_text', "BODY: Custu est su messàgiu assetiadu cun assign()");
$smarty->display('index.tpl');