
twig در واقع template engine پیش فرض فریمورک سیمفونی است. در قدیم از smarty برای مدیریت رابط کاربری استفاده میشد، ولی امروزه با ظهور twig استفاده از smarty توسط خیلیها کنار گذاشته شده است. برای خیلیها سوال پیش میآید که چرا بهتره از یک template engine استفاده کرد؟ در واقع الزامی برای این کار در سیمفونی وجود ندارد و میشود دستورات رو بدون twig استفاده کرد. ولی استفاده از twig لذت بخش، سریع و امن تر میباشد.
البته ویژگیهای مثبت استفاده از twig فقط کوتاه تر بودن دستورات نیست. استفاده از twig به همراه symfony در ساده تر کردن کارها و همچنین کمک به cache بهتر است. سعی کنید استفاده از twig را فرابگیرید در آینده از آن لذت خواهید برد.
در ادامه یک قالب ساده با twig را میبینید .
<ul id="navigation">
{% for item in navigation %}
<li><a href="{{ item.url }}">{{ item.label }}</a></li>
{% endfor %}
</ul>
متغیرهای ارسال شده به یک قالب Twig میتوانند از نوع رشته، آرایه و یا حتی شیء باشند. که برای دستیابی به صفات هر متغیر میتوانید از علامت نقطه استفاده کنید
{# 3. Objects #}
{# array('employ' => new employ('AMIB')) #}
{{ employ.name }}
{{ employ.getName }}
یکی از بهترین ویژگیهای Twig امکان توسعه با استفاده از تگها، فیلترها و توابع است.
<h1>{{ article.title|trim|capitalize }}</h1>
<p>{{ article.content|striptags|slice(0, 1024) }}</p>
<p>Tags: {{ article.tags|sort|join(", ") }}</p>
<p>Next article will be published on {{ 'next Monday'|date('M j, Y')}}</p>
اگر شما قابلیتهای پیشرفتهتری نیاز داشته باشید، من به شما TWIG را پیشنهاد میکنم. این تمپلت انجین عالی و مرتب، در بسیاری از برنامهها استفاده میشود و پرطرفدار است. مثلا CMS معروف دروپال (drupal) از TWIG به عنوان template engine خودش استفاده کرده است. با وجود قدرت بالای این تمپلت انجین، یادگیری آن در نیمساعت مسیر است...
افزودن دیدگاه جدید