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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(1.0: إضافة عنوان الصفحة.)
 
(إدخال 2.0 تمام المحتوى وانظر أيضًا والتصانيف والمصادر.)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الوسم autoescape في Twig}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:الوسم autoescape في Twig}}</noinclude>
 +
تس{{DISPLAYTITLE:الوسم autoescape في Twig}}تطيع تحديد جزء من قالب ما من أجل التحكم في تهريبه باستخدام الوسم <code>autoescape</code> كما يلي:<syntaxhighlight lang="twig">
 +
{% autoescape %}
 +
    HTML كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
 +
{% endautoescape %}
 +
 +
{% autoescape 'html' %}
 +
    HTML كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
 +
{% endautoescape %}
 +
 +
{% autoescape 'js' %}
 +
    JS كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
 +
{% endautoescape %}
 +
 +
{% autoescape false %}
 +
    كل ما في هذه الكتلة سيُطبع كما هو.
 +
{% endautoescape %}
 +
</syntaxhighlight>عند تفعيل التهريب التلقائي فسيُهرَّب كل شيء افتراضيًا عدا القيم المحددة صراحة أنها آمنة، فتلك يمكن تحديدها في القالب باستخدام الفلتر <code>[[Twig/raw|raw]]</code>:<syntaxhighlight lang="twig">
 +
{% autoescape %}
 +
    {{ safe_value|raw }}
 +
{% endautoescape %}
 +
</syntaxhighlight>الدوال التي تعيد بيانات القالب -مثل [[Twig/macro|وسم الشيفرات الجامعة (macros)]] و [[Twig/parent|الدالة <code>parent</code>]]- تعيد دائمًا ترميزًا آمنًا (safe markup).
 +
 +
لاحظ أن Twig لا يهرب القيمة المهربة بواسطة فلتر <code>[[Twig/escape|escape]]</code>، ولا يهرِّب التعابير الساكنة (static expressions):<syntaxhighlight lang="twig">
 +
{% set hello = "<strong>Hello</strong>" %}
 +
{{ hello }}
 +
{{ "<strong>world</strong>" }}
 +
</syntaxhighlight>سيُخرج التعبير السابق هكذا: "‎<nowiki><strong>Hello</strong></nowiki> world‎".
 +
 +
== انظر أيضًا ==
 +
 +
* [https://wiki.hsoub.com/Twig/intro مقدمة عن Twig.]
 +
* [https://wiki.hsoub.com/Twig/api Twig للمطورين.]
 +
* [https://wiki.hsoub.com/Twig/escape الوسم escape.]
 +
* الدالة parent.
 +
 +
== المصادر ==
 +
 +
* [https://twig.symfony.com/doc/3.x/tags/autoescape.html صفحة الوسم autoescape في توثيق Twig الرسمي].
 +
 +
[[تصنيف:Twig]]
 +
[[تصنيف:Twig Tags]]
 +
[[تصنيف:Twig Autoescape T]]

مراجعة 13:12، 24 أبريل 2021

تستطيع تحديد جزء من قالب ما من أجل التحكم في تهريبه باستخدام الوسم autoescape كما يلي:

{% autoescape %}
    HTML كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
{% endautoescape %}

{% autoescape 'html' %}
    HTML كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
{% endautoescape %}

{% autoescape 'js' %}
    JS كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
{% endautoescape %}

{% autoescape false %}
    كل ما في هذه الكتلة سيُطبع كما هو.
{% endautoescape %}

عند تفعيل التهريب التلقائي فسيُهرَّب كل شيء افتراضيًا عدا القيم المحددة صراحة أنها آمنة، فتلك يمكن تحديدها في القالب باستخدام الفلتر raw:

{% autoescape %}
    {{ safe_value|raw }}
{% endautoescape %}

الدوال التي تعيد بيانات القالب -مثل وسم الشيفرات الجامعة (macros) و الدالة parent- تعيد دائمًا ترميزًا آمنًا (safe markup). لاحظ أن Twig لا يهرب القيمة المهربة بواسطة فلتر escape، ولا يهرِّب التعابير الساكنة (static expressions):

{% set hello = "<strong>Hello</strong>" %}
{{ hello }}
{{ "<strong>world</strong>" }}

سيُخرج التعبير السابق هكذا: "‎<strong>Hello</strong> world‎".

انظر أيضًا

المصادر