Smarty

Daripada Wikipedia, ensiklopedia bebas.
Smarty
PembangunMonte Ohrt, Messju Mohr
Keluaran stabil
2.6.19 / 11 Feb 2008
Repositori Sunting ini di Wikidata
JenisEnjin templat
LesenLGPL
Tapak webwww.smarty.net

Smarty adalah satu sistem templat web berasaskan PHP. Smarty dipromosikan terutamanya sebagai sebuah alat untuk pengasingan usaha, yang merupakan strategi rekaan untuk sesetengah penggunaan.[1][2]

Contoh kod[sunting | sunting sumber]

Memandangkan Smarty mengasingkan PHP daripada HTML, maka terdapat dua fail:

<!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> {* Ini adalah sedikit komen yang tidak akan dilihat di dalam sumber HTML *}

<p>{$body_text}</p>

</body><!-- Ini adalah sedikit komen yang akan dilihat di dalam sumber HTML -->
</html>

Dalam kod logik perniagaan Smarty boleh diset untuk menggunakan templat ini:

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->error_reporting = E_ALL; // TINGGALKAN E_ALL SEMASA PEMBINAAN
$smarty->debugging = true;

$smarty->assign('title_text', 'TITLE: Ini adalah contoh asas Smarty ...');
$smarty->assign('body_text', 'BODY: Ini adalah mesej yang disetkan menggunakan assign()');

$smarty->display('index.tpl');

Catatan dan rujukan[sunting | sunting sumber]

  1. ^ Smarty mengasingkan kod PHP, (selalunya diwakilkan sebagai logik perniagaan) daripada HTML, (selalunya diwakilkan sebagai logik penyampaian).
  2. ^ Parr, Terence John (2004). Enforcing strict model-view separation in template engines. Proceedings of the 13th international conference on World Wide Web. 1-58113-844-X.

Pautan luar[sunting | sunting sumber]