İçeriğe atla

Smarty

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

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]

Özellikler

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

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

Kaynakça

  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

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">HTTP</span> iletişim protokolü

HTTP bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim protokolüdür. HTTP, World Wide Web için veri iletişiminin temelidir; burada köprü metni belgeleri, örneğin bir fare tıklamasıyla veya bir web tarayıcısında ekrana dokunarak kullanıcının kolayca erişebileceği diğer kaynaklara köprüler içerir.

<span class="mw-page-title-main">MS-DOS</span> 1980li yıllarda kişisel bilgisayar işletim sistemi

MS-DOS, Microsoft firmasının geliştirdiği bir DOS sistemidir. 1980'li yıllarda PC uyumlu platformlar üzerinde kullanılan en yaygın işletim sistemiydi. 1990'lı yılların ortalarından 2000 yılına kadarki en popüler işletim sistemleri olan Windows 9x ailesinin temeli olarak kullanıldı. Masaüstü bilgisayarlardaki popülerliğini, zamanla Windows NT mimarisi kullanan yeni nesil Windows işletim sistemlerine bıraktı.

<span class="mw-page-title-main">PHP</span> bir programlama dili

PHP: Hypertext Preprocessor, internet için üretilmiş, sunucu taraflı, çok geniş kullanımlı, genel amaçlı, içerisine HTML gömülebilen betik ve programlama dilidir. İlk kez 1995 yılında Rasmus Lerdorf tarafından yaratılan PHP'nin geliştirilmesi bugün PHP topluluğu tarafından sürdürülmektedir. Ocak 2013 itibarıyla 244 milyondan fazla web sitesi PHP ile çalışırken 2.1 milyon web sunucusunda PHP kurulumu bulunmaktadır.

<span class="mw-page-title-main">WordPress</span>

WordPress, PHP dilinde yazılmış ve HTTPS ile desteklenen bir MySQL veya MariaDB veritabanıyla eşleştirilen bir ücretsiz ve açık kaynaklı içerik yönetim sistemi (CMS)‘dir. Özellikler, WordPress içinde "Temalar" olarak adlandırılan bir eklenti mimarisi ve bir şablon sistemi içerir. WordPress başlangıçta bir blog yayınlama sistemi olarak oluşturuldu ancak daha geleneksel posta listeleri ve İnternet forumları, medya galerileri, üyelik siteleri, öğrenim yönetim sistemleri (LMS) ve çevrimiçi mağazalar dahil olmak üzere diğer web içeriği türlerini desteklemek için gelişti.

<span class="mw-page-title-main">Web sayfası</span> World Wide Web ve web tarayıcıları aracılığıyla doğrudan görüntülenebilen tek belge

Web sayfası, World Wide Web için hazırlanan ve web tarayıcısı kullanılarak görüntülenebilen dokümanlardır. Web sayfaları çoğunlukla HTML formatında kodlanır, CSS, betik, görsel ve diğer yardımcı kaynaklardan yararlanılarak son görünümüne sahip olur ve işlevsellik kazanır. Birden fazla web sayfasının bir araya gelmesi ile ortaya çıkan web sitesi ile karıştırılmamalıdır. Günlük konuşma dilinde internet sayfası terimi de çoğunlukla web sitesi anlamında kullanılmaktadır.

ASP.NET, Microsoft tarafından geliştirilmiş olan bir açık kaynak Web uygulama gelişimi teknolojisidir. Dinamik Web sayfaları, Web uygulamaları ve XML tabanlı Web hizmetleri geliştirilmesine olanak sağlar. Aynı işletme tarafından geliştirilen .NET çatısı'nın yazılım iskeleti parçası ve artık işletmece desteklenmeyen ASP teknolojisinin devamını teşkil etmiştir.

AJAX, İnternet sayfalarında JavaScript ve XMLHttpRequest kullanımı ile etkileşimli uygulamalar yaratan tekniğin adıdır.

<span class="mw-page-title-main">Sinüs (matematik)</span>

Matematikte sinüs, trigonometrik bir fonksiyon. Sin kısaltmasıyla ifade edilir.

DTD, belge sözdizimi kurallarını tanımlayan işaretleme kuralları kümesidir.

<span class="mw-page-title-main">Drupal</span> web içerik yönetim sistemi

Drupal; ücretsiz, açık kaynaklı bir içerik yönetim sistemi ya da içerik yönetim'e odaklı bir altyapı yazılımıdır. Modüler yapısı sayesinde, web uygulama çatısı, topluluk portalı, forum ya da blog motoru olarak da kullanılabilmektedir. 2000'li yılların ortalarında Drupal esneklik, genişleyebilirlik, yönetim kolaylığı ve etkin bir topluluğun desteği ile popülerlik kazanmıştır.

<span class="mw-page-title-main">HTML</span> işaretleme ve web programlama dili

Hiper Metin İşaretleme Dili web sayfalarını oluşturmak için kullanılan standart metin işaretleme dilidir. Dilin son sürümü HTML5'tir.

Apache Wicket veya kısaca Wicket Java programlama dili için bileşen tabanlı hafif bir web uygulama kütüphanesidir. Jonathan Locke tarafından geliştirilmeye başlanmış ve ilk sürümü 2005 yılında çıkmıştır.

<span class="mw-page-title-main">Jinja</span>

Jinja, Python programlama dili için oluşturulmuş bir tasarım motorudur. Django şablon motoruna benzer ancak, Python'a benzer ifadeler kullanır ve şablon dosyaları bir Sandbox içerisine konur.

<span class="mw-page-title-main">CMS Made Simple</span>

CMS Made Simple (CMSMS) açık kaynak (GPL) lisansıyla yayınlanan bir içerik yönetim sistemidir (CMSMS) web geliştiricileri ve site sahipleri tarafından kullanılmaktadır. Bilişim kitapları alanında dünyanın en saygın yayın evlerinden Packt Publishing tarafından 2010 yılı içerisinde yapılan ankette PHP ile geliştirilmiş en iyi açık kaynak içerik yönetim sistemi seçilmiştir.

vCard elektronik kartvizit için bir dosya biçimi standarttır. vCard sıklıkla e-posta iletilerine bağlı, ancak World Wide Web veya anlık mesajlaşma gibi diğer yollarla değiştirilebilir. Onlar isim ve adres bilgilerini, telefon numaraları, e-posta adresleri, URL'ler, logolar, fotoğraflar ve ses klipleri içerebilir.

<span class="mw-page-title-main">React</span> Kullacı arayüzleri oluşturmak için kullanılan JavaScript kütüphanesi

React, kullanıcı arayüzü oluşturmaya yarayan açık kaynak kodlu bir javascript kütüphanesidir. Facebook önderliğinde bir geliştirici grubu tarafından geliştirilmekte olan React, Model-View-Controller prensibine uygun olarak oluşturulmuştur. React ile single-page olarak adlandırılan sayfalar geliştirilebileceği gibi React-Native ile mobil uygulamalar da geliştirilebilir.

TemplateMonster web siteleri için kullanıma hazır şablonlar, kurulum sayfaları, pazarlama içerikleri, haber bültenleri gibi çeşitli pek çok web sitesi geliştirmeye yönelik çözüm üreten ve satışını gerçekleştiren bir şirkettir. 26,000’den fazla ürün çeşidine sahip bir şirket olarak web sitesi şablon tedariki konusunda zirve oyuncusu olmaya devam ediyor. TemplateMonster genel merkezi Brooklyn, New York’tadır. Alexa raporuna göre resmi web sitesi templatemonster.com dünya çapında en çok ziyaret edilen 2000 web sitesinden biridir.

Apache Velocity Java kodlarındaki nesnelerle etkileşimde kullanılan Java temelli bir şablon motorudur.

<span class="mw-page-title-main">Web şablon sistemi</span>

Web yayıncılığı'ndaki web şablon sistemi, web tasarımcılarının ve geliştiricilerin, bir aramanın sonuçları gibi özel web sayfa'larını otomatik oluşturmak için web şablonları ile çalışmasına olanak tanır. Bu, dinamik öğeleri web isteği parametrelerine dayalı olarak tanımlarken statik web sayfası öğelerini yeniden kullanır. Web şablonları statik içeriği destekleyerek temel yapı ve görünüm sağlar. Geliştiriciler içerik yönetim sistemlerinden, Web uygulama iskeletlerinden ve HTML düzenleyicilerinden şablonları kullanabilir.

Bir belge türü beyanı veya DOCTYPE, belirli bir XML veya SGML belgesini bir belge türü tanımıyla (DTD) ilişkilendiren bir talimattır. 4.0). Belgenin serileştirilmiş biçiminde, belirli bir sözdizimine uyan kısa bir işaretleme dizisi olarak ortaya çıkar.