الفرق بين المراجعتين لصفحة: «Twig/if»
< Twig
أسامه-دمراني (نقاش | مساهمات) 1.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 %} | |||
<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" | |||
|+ | |||
!القيمة | |||
!التقييم البولياني | |||
|- | |||
|نص فارغ | |||
|<code>false</code> | |||
|- | |||
|صفر رقمي | |||
|<code>false</code> | |||
|- | |||
|ليس رقمًا (NAN) | |||
|<code>true</code> | |||
|- | |||
|ما لا نهاية (INF) | |||
|<code>true</code> | |||
|- | |||
|سلسلة نصية من مسافات فقط | |||
|<code>true</code> | |||
|- | |||
|السلسلة النصية "0" أو '0' | |||
|<code>false</code> | |||
|- | |||
|مصفوفة فارغة | |||
|<code>false</code> | |||
|- | |||
|null | |||
|<code>false</code> | |||
|- | |||
|مصفوفة غير فارغة | |||
|<code>false</code> | |||
|- | |||
|كائن | |||
|<code>true</code> | |||
|} | |||
== انظر أيضًا == | |||
* [[Twig/intro|مقدمة عن محرك القوالب Twig]] | |||
* [[Twig/coding standards|معايير كتابة الشيفرة في Twig]] | |||
== المصادر == | |||
* [https://twig.symfony.com/doc/3.x/tags/if.html صفحة الوسم if في توثيق Twig الرسمي] | |||
[[تصنيف:Twig]] | |||
[[تصنيف: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
|