الفرق بين المراجعتين لصفحة: «Twig/autoescape»

من موسوعة حسوب
طلا ملخص تعديل
لا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين)
سطر 16: سطر 16:
     كل ما في هذه الكتلة سيُطبع كما هو.
     كل ما في هذه الكتلة سيُطبع كما هو.
{% endautoescape %}
{% endautoescape %}
</syntaxhighlight>عند تفعيل التهريب التلقائي فسيُهرَّب كل شيء افتراضيًا عدا القيم المحددة صراحة أنها آمنة، فتلك يمكن تحديدها في القالب باستخدام الفلتر <code>[[Twig/raw|raw]]</code>:<syntaxhighlight lang="twig">
</syntaxhighlight>عند تفعيل التهريب التلقائي فسيُهرَّب كل شيء افتراضيًا عدا القيم المحددة صراحة أنها آمنة، فتلك يمكن تحديدها في القالب باستخدام المرشح <code>[[Twig/raw|raw]]</code>:<syntaxhighlight lang="twig">
{% autoescape %}
{% autoescape %}
     {{ safe_value|raw }}
     {{ safe_value|raw }}
{% endautoescape %}
{% endautoescape %}
</syntaxhighlight>الدوال التي تعيد بيانات القالب -مثل [[Twig/macro|وسم الشيفرات الجامعة (macros)]] و [[Twig/parent|الدالة <code>parent</code>]]- تعيد دائمًا ترميزًا آمنًا (safe markup).
</syntaxhighlight>الدوال التي تعيد بيانات القالب -مثل [[Twig/macro|وسم الشيفرات الجامعة macros]] و [[Twig/parent|الدالة <code>parent</code>]]- تعيد دائمًا ترميزًا آمنًا safe markup.


لاحظ أن Twig لا يهرب القيمة المهربة بواسطة فلتر <code>[[Twig/escape|escape]]</code>، ولا يهرِّب التعابير الساكنة (static expressions):<syntaxhighlight lang="twig">
لاحظ أن Twig لا يهرب القيمة المهربة بواسطة فلتر <code>[[Twig/escape|escape]]</code>، ولا يهرِّب التعابير الساكنة static expressions:<syntaxhighlight lang="twig">
{% set hello = "<strong>Hello</strong>" %}
{% set hello = "<strong>Hello</strong>" %}
{{ hello }}
{{ hello }}
{{ "<strong>world</strong>" }}
{{ "<strong>world</strong>" }}
</syntaxhighlight>سيُخرج التعبير السابق هكذا: "‎<nowiki><strong>Hello</strong></nowiki> world‎".
</syntaxhighlight>سيُخرج التعبير السابق هكذا: <code>"‎<nowiki><strong>Hello</strong></nowiki> '''world‎'''"</code>.


== انظر أيضًا ==
== انظر أيضًا ==


* [https://wiki.hsoub.com/Twig/intro مقدمة عن Twig.]
* [[Twig/intro|مقدمة عن Twig]]
* [https://wiki.hsoub.com/Twig/api Twig للمطورين.]
* [[Twig/api|محرك Twig للمطورين]]
* [https://wiki.hsoub.com/Twig/escape الوسم escape.]
* [[Twig/escape|الوسم escape]]
* [[Twig/parent|الدالة parent.]]
* [[Twig/parent|الدالة parent]]


== المصادر ==
== المصادر ==
سطر 41: سطر 41:
[[تصنيف:Twig]]
[[تصنيف:Twig]]
[[تصنيف:Twig Tags]]
[[تصنيف:Twig Tags]]
[[تصنيف:Twig Autoescape T]]

المراجعة الحالية بتاريخ 14:47، 11 مايو 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‎".

انظر أيضًا

المصادر