Pergi ke kandungan

Smarty

Daripada Wikipedia, ensiklopedia bebas.
Smarty
PembangunMonte Ohrt, Messju Mohr
Pelancaran pertama2001 dan 2002
Versi terkini/stabil2.6.19 (11 Feb 2008)
Ditulis dalamPHP
JenisTemplate processorperisian bebaspustaka
GenreEnjin templat
LesenLGPL
Format fail boleh ditulis
Format fail boleh dibaca
Pautan berkaitan
Tapak webwww.smarty.net
Repositori
sunting · sunting di Wikidata
Lihat pendokumenan templat ini
Lihat pendokumenan templat ini

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]