Twig şablon motoru

Modern web programcılığında şablon  (template) yapısı önemli bir yer tutar. Esas olarak HTML kodunun tarayıcıda görünmesi için dinamik programlama işlerinde veri bir dosyadan ya da veritabanından okunarak html kodlarına dönüştürülerek tarayıcıya gönderilir.

Başta Smarty olmak üzere gerek web tasarımcısının işini kolaylaştırmak gerekse performans ihtiyaçları için farklı tasarım şablonları (template engine) geliştirilmiştir. Symfony framework’un yaratıcılarından Fabien Potencier’in mevcut kodu ele alarak geliştirdiği Twig daha popüler bir tasarım motoru.

Tasarım konusundaki sorunları başlıca ele alırsak,  karşımıza aşağıdaki önemli noktalar çıkıyor.

Cache

Verinin her okumada html kodları içerisine gömülmesi, sık sık ziyaret edilen ana sayfa gibi içeriklerin yavaş açılmasına, bandwith trafiğinin ve sunucu kaynaklarının gereksiz israfına yol açar. İyi bir cache sistemi ile veriler html kodları arasında her defasında okunmadan daha hızlı ziyaretçiye sunularak sitenin hızlı açılması sağlanır.

Twig tasarım motoru içerisinde kendisine has cache özelliği ile daha hızlı açılım ve yeniden kullanım imkanı sağlanıyor.

Sade, daha okunabilir kod yazımı

PHP dilini ele alırsak tasarım tarafında php kodu oldukça gürültülüdür.

<br /><br /><!--?php echo $icerik ?--><br /><br />

Twig yazılımı

<br /><br />{{ icerik }}<br /><br />

Her iki yazılıma dikkat ederseniz Twig yazılımının ne kadar basit ve kolay okunabildiğini göreceksiniz. Bu özellik tasarımcı için daha okunabilir bir kod imkanı sunuyor. Tüm web tasarımcılarının php dilini bilmesi mümkün olmadığına göre Twig tasarımcıya daha kolay daha anlaşılır bir kodlama imkanı veriyor.

Burada php kodlamanın bazen ne kadar karmaşık olduğundan bahsetmiyorum bile.

Tasarımın Yeniden Kullanımı

Aşağıdaki Twig kodunda layout.html.twig olarak tasarlanmış tasarım dosyasının content isminli blok kısmına içerik oluşturduğumuz tasarım örneğini görüyorsunuz.

<br />{% extends "layout.html.twig" %}<br />{% block content %}<br />alt sayfanın içeriği...<br />{% endblock %}<br />

Tasarımı türeterek yeniden kullanmak tasarımınızda sık tekrar eden başlık, menü, alt kısımlar (header,fooder, sidebar vb.) kolayca her sayfa için bu teknikle kullanılabilir. Twig ile aynı zamanda koşullu ana tasarım da yükleyebilirsiniz. Örneğin kullanıcı adı admin ise admin.html.twig yükle gibi.

Yazılımın tasarımdan yalıtılması

Twig ile tasarımcı uygulamadaki kodları rahatça çağıramaz. Bu nedenle istenmeyen durumların önlenmesi de sağlanmış olur. PHP ile tasarım yaptığınızda tasarım ile uygulama arasında yalıtım yoktur. Tasarımcı bilinçli olmadan istemediğiniz bir kodu çağırarak sitenin tutarlı çalışmasına zarar verebilir.

Sonuç

Twig için yukarıda bahsettiklerimize ilave anlatılacak konular çok. Genişleyebilir altyapısı ile Twig’e yeni şeyler öğretebilirsiniz. Güvenli ve hızlı çalışması ile php projelerinizde tasarım ve performans sağlayan, kolay öğrenilen tasarım motoru.

Bu yazıyı beğendiniz mi ? Paylaşın !

Bir yorum bırak