Jump to content

Smarty

Dae Wikipedia, s'entziclopedia lìbera.
Custu artìculu est iscritu cun sa grafia Limba Sarda Comuna. Abbàida sas àteras bariedades gràficas:

campidanesu · logudoresu · nugoresu

Smarty
Data prima versione2001 e 2002
Ùrtima versione5.4.2 (21 santandria 2024)
LimbàgiuPHP
LitzèntziaGNU 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ìfica | modìfica su còdighe de orìgine]

S'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.

Smarty 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.

Smarty 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');