Smarty, PHP ile yazılmış bir şablon motorudur. Özellikle web geliştirirken tasarım ve yazılım süreçlerinin birbirinden bağımsız hale getirilmesini sağlayan bir araç olarak tanınmaktadır.[1]

Smarty
Geliştirici(ler)Monte Ohrt, Messju Mohr
Güncel sürüm3.0.6
Programlama diliPHP
TürŞablon motoru
LisansLGPL
Resmî sitesiwww.smarty.net Bunu Vikiveri'de düzenleyin
Kod deposu Bunu Vikiveri'de düzenleyin

Özellikler değiştir

Birçok üst düzey şablonun programlama özelliklerini destekler:[2]

  • Control flow, foreach
  • if, elseif, else gibi koşullu ifadeleri kullanabilme
  • Değişken oluşturabilme ve özelleştirme - Örnek {$variable|nl2br}
  • Hazır fonksiyonlar - Örnekler {html_select_date start_year='-5' end_year='+5'}
  • Fonksiyonları kendi düzenleyecileri ile oluşturabilme imkânı / fonksiyonlar / çıkış filtreleri
  • Sayfaları önbelleğe alabilme

Smarty örneği değiştir

Smarty etiketleri bir HTML şablonunda aşağıdaki gibi kullanılmaktadır:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html>
<head>
   <title>{$title_text|escape}</title>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>

<body> {* Sayfada görünmeyen HTML yorumu *}

{$body_html}

</body>
</html>

HTML şablonda kullanılmak üzere smarty kodu aşağodaki gibi geliştirilmelidir.

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

$smarty = new Smarty();
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates/compile/';

$smarty->assign('title_text', 'TITLE: Smarty için basit bir örnek ...');
$smarty->assign('body_html', '<p>BODY: Bu mesaj assign() fonksiyonu kullanarak ayarlanmaktadır</p>');

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

Daha fazla bilgi değiştir

Kaynakça değiştir

  1. ^ Parr, Terence John (2004). Enforcing strict model-view separation in template engines. Proceedings of the 13th international conference on World Wide Web. ISBN 1-58113-844-X. 
  2. ^ "Is Smarty right for me?". 11 Ağustos 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mart 2011. 

Dış bağlantılar değiştir