Smarty on mallimootor, mis on kirjutatud PHPs. Smarty eraldab PHP HTMList ja põhiliselt kasutatakse teda dünaamilise HTML sisu tekitamiseks, lubades dokumendis spetsiaalseid Smarty märgendeid. Lubatud märgendite hulgas on muuhulgas muutujad nagu {$muutuja}, ja valik loogika ning tsükli operaatoreid.

Kõige sagedamini kasutatakse Smartyt PHP-põhistes rakendustes, et eraldada "äriloogikat" esitlusest. Nii on võimalik hoida lähtekoodi palju puhtamana ja tema muutmine on paindlikum. Näiteks võib tavaliselt muuta Smarty-põhise rakenduse välimust (või, rüüd) hõlpsasti, ilma, et peaks üldse jälgima äriloogikat või PHP koodi.

Smarty võimaldab mallidega programmeerimisel kasutada:

ja palju teisi lisavõimalusi. Ka teised mallimootorid toetavad neid käske mallides.

Lähtekoodi näidis muuda

Kuna Smarty eraldab PHP HTMList, on tegemist kahe failiga:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "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> {* See on väike kommentaar, mis ei ole HTML lähtekoodis nähtav *}

<p>{$body_text}</p>

</body><!-- see on väike kommentaar, mis on HTML lähtekoodis nähtav -->
</html>

Äriloogika lähtekoodis saab Smarty häälestada kasutama seda malli:

define('SMARTY_DIR', 'smarty-2.6.9/' );
require_once(SMARTY_DIR . 'Smarty.class.php');

$smarty = new Smarty;
$smarty->config_dir = SMARTY_DIR;
$smarty->template_dir = './tmpl';
$smarty->compile_dir = './tmpl/compile';
$smarty->compile_check = TRUE;
$smarty->debugging = FALSE;

$smarty->assign('title_text', 'See on Smarty lihtne näidis ...');
$smarty->assign('body_text', 'See on sõnum, mis seati assign() käsuga');

$smarty->display('basic.htm');

Tarkvara, mis on kirjutatud Smarty baasil muuda

Ametlik Smarty allikate veebileht.

Vaata ka muuda

Välislingid muuda