الوسم with في Twig

من موسوعة حسوب
مراجعة 16:12، 5 مايو 2021 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

استخدم الوسم with لإنشاء نطاق داخلي جديد، ولا تكون المتغيرات المسندة في هذا النطاق مرئية لمن هو خارجه:

{% with %}
    {% set foo = 42 %}
    {{ foo }} {# foo is 42 here #}
{% endwith %}
foo is not visible here any longer

تستطيع تمرير جدول من المتغيرات التي تريد تعريفها في وسم with بدلًا من تعريف المتغيرات في بداية النطاق. فالمثال أدناه مكافئ للمثال السابق:

{% with { foo: 42 } %}
    {{ foo }} {# foo is 42 here #}
{% endwith %}
foo is not visible here any longer

{# it works with any expression that resolves to a hash #}
{% set vars = { foo: 42 } %}
{% with vars %}
    ...
{% endwith %}

يكون للنطاق الداخلي وصول إلى سياق النطاق الخارجي افتراضيًا، وتستطيع تعطيل هذا السلوك بإلحاق كلمة only المفتاحية:

{% set bar = 'bar' %}
{% with { foo: 42 } only %}
    {# only foo is defined #}
    {# bar is not defined #}
{% endwith %}

انظر أيضًا

المصادر