الفرق بين المراجعتين لصفحة: «Twig/if»
< Twig
أسامه-دمراني (نقاش | مساهمات) إدخال 2.0 تمام المحتوى وانظر أيضًا والتصانيف والمصادر. |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الوسم if في Twig}}</noinclude> | <noinclude>{{DISPLAYTITLE: الوسم if في Twig}}</noinclude> | ||
يمكن موازنة تعليمة <code>if</code> في Twig بتعليمات <code>[[PHP/if|if]]</code> الموجودة في لغة [[PHP]]، فتستطيع استخدامها في أبسط صورة لها مع تعبير ما لننظر هل يقيَّم إلى <code>true</code> أم <code>false</code>: | |||
{{DISPLAYTITLE: الوسم if في Twig}}<syntaxhighlight lang="twig"> | |||
{% if online == false %} | {% if online == false %} | ||
<p>برجاء زيارة الموقع لاحقًا، إذ أنه الآن رهن الصيانة</p> | <p>برجاء زيارة الموقع لاحقًا، إذ أنه الآن رهن الصيانة</p> | ||
سطر 23: | سطر 24: | ||
<p>إنه يوم رائع للخروج في نزهة.</p> | <p>إنه يوم رائع للخروج في نزهة.</p> | ||
{% endif %} | {% endif %} | ||
</syntaxhighlight>يمكن استخدام <code>elseif</code> و <code>else</code> للفروع المتعددة كما في لغة | </syntaxhighlight>يمكن استخدام <code>elseif</code> و <code>else</code> للفروع المتعددة كما في لغة [[PHP]]، كما يمكن استخدام التعابير المعقدة <code>expressions</code> هنا أيضًا:<syntaxhighlight lang="twig"> | ||
{% if product.stock > 10 %} | {% if product.stock > 10 %} | ||
متاحة | متاحة | ||
سطر 38: | سطر 39: | ||
|- | |- | ||
|نص فارغ | |نص فارغ | ||
|false | |<code>false</code> | ||
|- | |- | ||
|صفر رقمي | |صفر رقمي | ||
|false | |<code>false</code> | ||
|- | |- | ||
|ليس رقمًا (NAN) | |ليس رقمًا (NAN) | ||
|true | |<code>true</code> | ||
|- | |- | ||
|ما لا نهاية (INF) | |ما لا نهاية (INF) | ||
|true | |<code>true</code> | ||
|- | |- | ||
|سلسلة نصية من مسافات فقط | |سلسلة نصية من مسافات فقط | ||
|true | |<code>true</code> | ||
|- | |- | ||
|السلسلة النصية "0" أو '0' | |السلسلة النصية "0" أو '0' | ||
|false | |<code>false</code> | ||
|- | |- | ||
|مصفوفة فارغة | |مصفوفة فارغة | ||
|false | |<code>false</code> | ||
|- | |- | ||
|null | |null | ||
|false | |<code>false</code> | ||
|- | |- | ||
|مصفوفة غير فارغة | |مصفوفة غير فارغة | ||
|false | |<code>false</code> | ||
|- | |- | ||
|كائن | |كائن | ||
|true | |<code>true</code> | ||
|} | |} | ||
== انظر أيضًا == | == انظر أيضًا == | ||
[[Twig/coding standards|معايير كتابة الشيفرة في Twig | * [[Twig/intro|مقدمة عن محرك القوالب Twig]] | ||
* [[Twig/coding standards|معايير كتابة الشيفرة في Twig]] | |||
== المصادر == | == المصادر == | ||
[https://twig.symfony.com/doc/3.x/tags/if.html صفحة الوسم if في توثيق Twig الرسمي | |||
* [https://twig.symfony.com/doc/3.x/tags/if.html صفحة الوسم if في توثيق Twig الرسمي] | |||
[[تصنيف:Twig]] | [[تصنيف:Twig]] | ||
[[تصنيف:Twig Tags]] | [[تصنيف:Twig Tags]] |
المراجعة الحالية بتاريخ 15:59، 5 مايو 2021
يمكن موازنة تعليمة 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
|