الفرق بين المراجعتين ل"Twig/if"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(إدخال 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">
+
يمكن موازنة تعليمة <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> للفروع المتعددة كما في لغة PHP، كما يمكن استخدام التعابير المعقدة <code>expressions</code> هنا أيضًا:<syntaxhighlight lang="twig">
+
</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/intro|مقدمة عن محرك القوالب Twig.]]
 
  
[[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

انظر أيضًا

المصادر