الفرق بين المراجعتين ل"Twig/if"
< Twig
اذهب إلى التنقل
اذهب إلى البحث
أسامه-دمراني (نقاش | مساهمات) (1.0: إضافة عنوان الصفحة.) |
أسامه-دمراني (نقاش | مساهمات) (إدخال 2.0 تمام المحتوى وانظر أيضًا والتصانيف والمصادر.) |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الوسم if في Twig}}</noinclude> | <noinclude>{{DISPLAYTITLE: الوسم if في Twig}}</noinclude> | ||
+ | يم{{DISPLAYTITLE: الوسم if في Twig}}كن موازنة تعليمة if في Twig بتعليمات if الموجودة في لغة PHP، فتستطيع استخدامها في أبسط صورة لها مع تعبير ما لننظر هل يقيَّم إلى true أم لا:<syntaxhighlight lang="twig"> | ||
+ | {% if online == false %} | ||
+ | <p>برجاء زيارة الموقع لاحقًا، إذ أنه الآن رهن الصيانة</p> | ||
+ | {% endif %} | ||
+ | </syntaxhighlight>كما تستطيع معرفة إن كانت مصفوفة ما بها عناصر أم لا:<syntaxhighlight lang="twig"> | ||
+ | {% if users %} | ||
+ | <ul> | ||
+ | {% for user in users %} | ||
+ | <li>{{ user.username|e }}</li> | ||
+ | {% endfor %} | ||
+ | </ul> | ||
+ | {% endif %} | ||
+ | |||
+ | </syntaxhighlight>انتبه إلى أنك ستستخدم <code>if users is defined</code> إذا أردت معرفة هل المتغير معرَّف أم لا. | ||
+ | |||
+ | يمكن التحقق من القيم التي تقيَّم إلى <code>false</code> باستخدام <code>not</code>:<syntaxhighlight lang="twig"> | ||
+ | {% if not user.subscribed %} | ||
+ | <p>لست مشتركًا في قائمتنا البريدية.</p> | ||
+ | {% endif %} | ||
+ | </syntaxhighlight>كذلك يمكن استخدام <code>and</code> و <code>or</code> في حالة الشرطيات المتعددة:<syntaxhighlight lang="twig"> | ||
+ | {% if temperature > 18 and temperature < 27 %} | ||
+ | <p>إنه يوم رائع للخروج في نزهة.</p> | ||
+ | {% endif %} | ||
+ | </syntaxhighlight>يمكن استخدام <code>elseif</code> و <code>else</code> للفروع المتعددة كما في لغة PHP، كما يمكن استخدام التعابير المعقدة <code>expressions</code> هنا أيضًا:<syntaxhighlight lang="twig"> | ||
+ | {% if product.stock > 10 %} | ||
+ | متاحة | ||
+ | {% elseif product.stock > 0 %} | ||
+ | باقي {{ product.stock }} فقط! | ||
+ | {% else %} | ||
+ | نفدت! | ||
+ | {% endif %} | ||
+ | </syntaxhighlight>لاحظ أن القواعد التي تحدد إن كان التعبير true أو false هي نفسها التي في PHP، الجدول التالي يوضح قواعد الحالات المتطرفة منها: | ||
+ | {| class="wikitable" | ||
+ | |+ | ||
+ | !القيمة | ||
+ | !التقييم البولياني | ||
+ | |- | ||
+ | |نص فارغ | ||
+ | |false | ||
+ | |- | ||
+ | |صفر رقمي | ||
+ | |false | ||
+ | |- | ||
+ | |ليس رقمًا (NAN) | ||
+ | |true | ||
+ | |- | ||
+ | |ما لا نهاية (INF) | ||
+ | |true | ||
+ | |- | ||
+ | |سلسلة نصية من مسافات فقط | ||
+ | |true | ||
+ | |- | ||
+ | |السلسلة النصية "0" أو '0' | ||
+ | |false | ||
+ | |- | ||
+ | |مصفوفة فارغة | ||
+ | |false | ||
+ | |- | ||
+ | |null | ||
+ | |false | ||
+ | |- | ||
+ | |مصفوفة غير فارغة | ||
+ | |false | ||
+ | |- | ||
+ | |كائن | ||
+ | |true | ||
+ | |} | ||
+ | |||
+ | == انظر أيضًا == | ||
+ | [[Twig/intro|مقدمة عن محرك القوالب Twig.]] | ||
+ | |||
+ | [[Twig/coding standards|معايير كتابة الشيفرة في Twig.]] | ||
+ | |||
+ | == المصادر == | ||
+ | [https://twig.symfony.com/doc/3.x/tags/if.html صفحة الوسم if في توثيق Twig الرسمي.] | ||
+ | [[تصنيف:Twig]] | ||
+ | [[تصنيف:Twig Tags]] |
مراجعة 12:03، 26 أبريل 2021
يمكن موازنة تعليمة 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 |