首頁 >常見問題 >twig有哪些特色?

twig有哪些特色?

烟雨青岚
烟雨青岚原創
2020-06-30 17:03:122409瀏覽

twig的特點有:簡潔、模板化語法、功能強大,提供創建模板所需的一切功能、簡單易學、擴展性、經過完整的單元測試,足夠穩定、文檔完備、安全、錯誤提示、快速。

twig有哪些特色?

twig的特點

#簡潔

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

<?php echo $var ?>
<?php echo htmlspecialchars($var, ENT_QUOTES, &#39;UTF-8&#39;) ?>

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

{{ var }}
{{ var|escape }}
{{ var|e }}         {# 变量转义(escape)的简写 #}

模板化語法

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

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

功能強大

Twig 提供建立範本所需的一切功能,如多重繼承、內容區塊、輸出自動轉義等等

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

簡單易學

Twig 的語法進行了大量改進,非常簡單易學,用戶稍加學習就可以快速地進行模板創建。

擴充功能

開發人員可以基於 Twig 提供的框架來擴展自己的標籤、過濾器、函數,來讓 Twig 獲得各種簡單或複雜的能力。

單元測試

Twig 經過完整的單元測試,足夠穩定,即使用於大型專案也沒有問題

文檔完備

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

安全性

轉出轉義:為了安全起見,需要對模板中的程式碼進行轉義。 Twig 可以提供全域或程式碼區塊層級的自動轉義功能

{% autoescape "html" %}
    {{ var }}
    {{ var|raw }}     {# var 不转义 #}
    {{ var|escape }}  {# var 不会重复转义 #}
{% endautoescape %}

沙盒:Twig 可以將任何範本置於沙盒環境中執行,讓使用者只能存取由開發者定義的部分標籤、過濾器或方法,從而使得程式更加安全。沙盒環境可以全域啟用,也可以只為部分模板啟用。

{{ include(&#39;page.html&#39;, sandboxed = true) }}

錯誤提示

當模板中出現語法錯誤時,Twig會提供非常實用的信息,指出出錯的文件名及代碼位置,為開發調試提供了便利性。

快速

Twig 創立的目標之一,就是越快越好。透過將模板編譯成最佳化的PHP程式碼,實現比傳統PHP程式碼更快的效率。

更多相關知識,請造訪

PHP中文網! !

以上是twig有哪些特色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多