الوسم if في Twig
< Twig
يمكن موازنة تعليمة if في Twig بتعليمات if الموجودة في لغة PHP، فتستطيع استخدامها في أبسط صورة لها مع تعبير ما لننظر هل يقيَّم إلى true أم لا:
{% 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 |