溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

twig的特點(diǎn)有哪些

發(fā)布時間:2020-07-31 09:35:37 來源:億速云 閱讀:122 作者:Leah 欄目:互聯(lián)網(wǎng)科技

今天就跟大家聊聊有關(guān)twig的特點(diǎn)有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

twig的特點(diǎn)有:簡潔、模板化語法、功能強(qiáng)大,提供創(chuàng)建模板所需要的一切功能、簡單易學(xué)、擴(kuò)展性、經(jīng)過完整的單元測試,足夠穩(wěn)定、文檔完備、安全、錯誤提示、快速。

twig的特點(diǎn)

簡潔

相對 Twig 而言,在模板中使用 PHP語法會顯得特別冗長,尤其需要對輸出進(jìn)行一些處理時,這種情況會變得更加明顯:

<?php echo $var ?>
<?php echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8') ?>

實現(xiàn)同樣的操作,Twig 使用更簡介的語法,易讀性也更高

{{ var }}
{{ var|escape }}
{{ var|e }}         {# 變量轉(zhuǎn)義(escape)的簡寫 #}

模板化語法

Twig 為常見的業(yè)務(wù)邏輯提供了很多快捷寫法,例如遍歷數(shù)組可能為空時,可以這樣判斷:

{% for user in users %}
    * {{ user.name }}
{% else %}
    No users have been found.
{% endfor %}

功能強(qiáng)大

Twig 提供創(chuàng)建模板所需要的一切功能,如多重繼承、內(nèi)容塊、輸出自動轉(zhuǎn)義等等

{% extends "layout.html" %}
{% block content %}
    Content of the page...
{% endblock %}

簡單易學(xué)

Twig 的語法進(jìn)行了大量改進(jìn),非常簡單易學(xué),用戶稍加學(xué)習(xí)就可以快速地進(jìn)行模板創(chuàng)建。

擴(kuò)展性

開發(fā)人員可以基于 Twig 提供的框架擴(kuò)展自己的標(biāo)簽、過濾器、函數(shù),來使 Twig 獲得各種簡單或復(fù)雜的能力。

單元測試

Twig 經(jīng)過完整的單元測試,足夠穩(wěn)定,即使用于大型項目也沒有問題

文檔完備

Twig 的文檔很完備,使用指南和完整的API文檔都可以在線閱讀:https://twig.symfony.com/doc/1.x/

安全

轉(zhuǎn)出轉(zhuǎn)義:為了安全起見,需要對模板中的代碼進(jìn)行轉(zhuǎn)義。Twig 可以提供全局或代碼塊級別的自動轉(zhuǎn)義功能

{% autoescape "html" %}
    {{ var }}
    {{ var|raw }}     {# var 不轉(zhuǎn)義 #}
    {{ var|escape }}  {# var 不會重復(fù)轉(zhuǎn)義 #}
{% endautoescape %}

沙盒:Twig 可以將任何模板置于沙盒環(huán)境中執(zhí)行,讓用戶只能訪問由開發(fā)者定義的一部分標(biāo)簽、過濾器或方法,從而使得程序更加安全。沙盒環(huán)境可以全局啟用,也可以只為部分模板啟用。

{{ include('page.html', sandboxed = true) }}

錯誤提示

當(dāng)模板中出現(xiàn)語法錯誤時,Twig會提供非常實用的信息,指出出錯的文件名及代碼位置,為開發(fā)調(diào)試提供了便利性。

快速

Twig 創(chuàng)立的目標(biāo)之一,就是越快越好。通過將模板編譯成優(yōu)化的PHP代碼,實現(xiàn)比傳統(tǒng)PHP代碼更快的效率。

看完上述內(nèi)容,你們對twig的特點(diǎn)有哪些有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI