Twig Engine Kullanımı

Standard

Günümüzde yazılım ile tasarımın farklı ellerden çıkması durumunda, veya yazılımın farklı kişiler tarafından geliştirmesi gibi durumlarda şablon (template) yapısı önemli bir yer tutar.

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. Smarty dışında Dwoo, Savant, Rain TPL, Vivvo, Sugar gibi pek çok tempate motoru sayabiliriz. Bunlar dışında Symfony framework’un yaratıcılarından Fabien Potencier’in mevcut kodu ele alarak geliştirdiği Twig de symfony de genellikle kullanıldığı için oldukça popüler diyebiliriz.

Twig in bize kattığı en önemli özellikler:

  • Cache – Kendine has cache mekanizması sayesinde her seferinde baştan derlemek yerine sayfanın tamamı yada bir bölümünü cache ile çok daha hızlı şekilde getirebilirsiniz.
  • Sadece ve Kolay okunabilirlik – {{ degisken }} şeklinde html içerisinde kullanabilirsiniz.
  • Block yani Tasarımının yeniden kullanılabilmesi (Kalıtım)

Kısa kısa örnekler vererek biraz daha açıklamaya çalışacağım şimdi sizlere..

Önce yukarıda da belirttiğim gibi değişkenleri yazdırmayı göstereyim:

<p>{{ degisken }}</p>

Block kullanımı yani tasarımın yeniden kullanılması

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

layout sayfasını yüklüyoruz ve o sayfadaki block content bölümünü overwrite ediyoruz.  Eğer burada content block tanımlanmış olmasaydı extend ettiğiniz sayfadaki block gelecekti aynen..

Tasarımı yeniden kullanmak tasarımınızda sık tekrar eden başlık, menü ve header,fooder vb. kısımları kolayca her sayfa için bu teknikle kullanabilir hızlıca işin içinden çıkabilirsiniz.
Twig ile aynı zamanda koşullu ana tasarım da yükleyebilirsiniz. Örneğin kullanıcı login olmuş ile member.html.twig yükle gibi..

Döngü ve Koşullu İfade örneği

{% if users %}
<h1>Members</h1>
    <ul>
        {% for key, user in users %}
            <li>{{ key }}: {{ user.username|e }}</li>
        {% endfor %}
    </ul>
{% endif %}

Gördüğünüz gibi aslında çok basit, render ettiğiniz ekranda değişkenleri array şeklinde göndermeniz yeterlidir…

Daha detaylı bilgi isteyenler http://twig.sensiolabs.org/documentation adresinden kendi dökümantasyonunu okuyabilirler..

Umarım açıklayıcı olabilmişimdir, Herkese İyi çalışmalar dilerim..

2 thoughts on “Twig Engine Kullanımı

  1. enes

    hocam merhaba opencarta bir temada liste tasarlamak istiyorum ora da twig diliyle bir kullanımı var ve ben işin içinden çıkamadım ürünlerimin olabildiğince küçük sıralanmasını istiyorum bunu nasıl sağlıyabilirim lütfen yardımcı olursanız sevinirim

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir