الوسم if في 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

انظر أيضًا

المصادر