Smarty

Vikipedi, özgür ansiklopedi
Atla: kullan, ara
Smarty
[[Dosya:{{{ekran_goruntusu}}}|300px]]
Geliştiren(ler) Monte Ohrt, Messju Mohr
Güncel sürüm 3.0.6
Programlama dili PHP
Yazılım türü Şablon Motoru
Lisans LGPL

Smarty, PHP ile yazılmış bir şablon motorudur. Özellikler 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].

Özellikler[değiştir | kaynağı 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 imkanı / fonksiyonlar / çıkış filtreleri
  • Sayfaları önbelleğe alabilme

Smarty Örneği[değiştir | kaynağı 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 | kaynağı değiştir]

Kaynaklar[değiştir | kaynağı 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?

Ayrıca bakınız[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]