الوسم if في Twig
< Twig
يمكن موازنة تعليمة if في Twig بتعليمات if الموجودة في لغة PHP، فتستطيع استخدامها في أبسط صورة لها مع تعبير ما لننظر هل يقيَّم إلى true أم false:
{% if online == false %}
<p>برجاء زيارة الموقع لاحقًا، إذ أنه الآن رهن الصيانة</p>
{% endif %}
كما تستطيع معرفة إن كانت مصفوفة ما بها عناصر أم لا:
{% if users %}
<ul>
{% for user in users %}
<li>{{ user.username|e }}</li>
{% endfor %}
</ul>
{% endif %}
انتبه إلى أنك ستستخدم if users is defined إذا أردت معرفة هل المتغير معرَّف أم لا.
يمكن التحقق من القيم التي تقيَّم إلى false باستخدام not:
{% if not user.subscribed %}
<p>لست مشتركًا في قائمتنا البريدية.</p>
{% endif %}
كذلك يمكن استخدام and و or في حالة الشرطيات المتعددة:
{% if temperature > 18 and temperature < 27 %}
<p>إنه يوم رائع للخروج في نزهة.</p>
{% endif %}
يمكن استخدام elseif و else للفروع المتعددة كما في لغة PHP، كما يمكن استخدام التعابير المعقدة expressions هنا أيضًا:
{% if product.stock > 10 %}
متاحة
{% elseif product.stock > 0 %}
باقي {{ product.stock }} فقط!
{% else %}
نفدت!
{% endif %}
لاحظ أن القواعد التي تحدد إن كان التعبير true أو false هي نفسها التي في PHP، الجدول التالي يوضح قواعد الحالات المتطرفة منها:
| القيمة | التقييم البولياني |
|---|---|
| نص فارغ | false
|
| صفر رقمي | false
|
| ليس رقمًا (NAN) | true
|
| ما لا نهاية (INF) | true
|
| سلسلة نصية من مسافات فقط | true
|
| السلسلة النصية "0" أو '0' | false
|
| مصفوفة فارغة | false
|
| null | false
|
| مصفوفة غير فارغة | false
|
| كائن | true
|