<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Twig, 靈活、快速、安全的PHP模板語言。 **目前還在完善翻譯中,你可以先收藏一波~** Twig是一款靈活、快速、安全的PHP模板引擎。 - 快速:Twig將模板編譯為純粹的,最優化的PHP代碼。它的開銷與常規的PHP代碼相比,已經降到了極低。 - 安全:Twig擁有沙盒模式,用于評估未受信任的模板代碼。這使得Twig可以用于允許用戶自行修改模板設計的應用程序中。 - 靈活:Twig由一個靈活的詞法分析器和解析器驅動。這使得開發者可以自定義標簽和過濾器,并創建自己的DSL。 --- ##為何會有這款模板引擎? 在為PHP帶來模板引擎時,許多人會告訴你PHP本身就是一款模板引擎啊。雖說一開始PHP是作為一門模版語言使用,但它并不像近年來的任何模板引擎一樣發展。事實上,他不支持現代模板引擎的許多特性: * **簡潔**:PHP語言在涉及到輸出轉義時冗長而可笑。 ~~~ <?php echo $var ?> <?php echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8') ?> ~~~ 相比之下,Twig擁有非常簡潔的語法,它使得模版更具可讀性: ~~~ {{ var }} {{ var|escape }} {{ var|e }} {# shortcut to escape a variable #} ~~~ * **模版導向語法**:Twig為通用的模式提供了快捷方式,例如在遍歷一個空數組時,會顯示一個默認文本: ~~~ {% for user in users %} * {{ user.name }} {% else %} No users have been found. {% endfor %} ~~~ * **全功能**:Twig為你提供了輕松構建強大模版的一切:多重繼承,塊,自動化輸出轉義,以及其他許多特性: ~~~ {% extends "layout.html" %} {% block content %} 頁面內容... {% endblock %} ~~~ * **易學**:Twig的語法非常易學,即使是網頁設計師也能毫無阻礙地快速完成工作: 當然,PHP也是許多模板引擎項目中用到的語言。但它們中的大多數仍是使用PHP 4開發的,并且不支持最佳的web開發實踐: * **可擴展性**:即使是在最復雜的情況下,Twig也足夠靈活滿足你的需求。得益于開放的體系,你可以實現你自己的語言結構(標簽、過濾器、函數、甚至運算符等)來創建你自己的DSL。 * **已被單元測試**:Twig經歷過完整的單元測試,它是穩定的,能用于大型項目的。 * **文檔**:Twig擁有完整的文檔,以及專用的在線手冊,當然還有完善的API文檔。 * **安全**:說到安全,Twig擁有一些獨特的特性: * **自動輸出轉義**:為安全考慮,你可以全局啟用自動輸出轉義,或者只對某個塊啟用: ~~~ {% autoescape true %} {{ var }} {{ var|raw }} {# var won't be escaped #} {{ var|escape }} {# var won't be doubled-escaped #} {% endautoescape %} ~~~ * **沙盒**:Twig可以在沙盒環境下評估任意模版,用戶只能訪問一組有限的標簽,過濾器,以及由開發者定義的對象方法。沙盒可以全局地或者單獨對某些模版啟用: `{{ include('page.html', sandboxed = true) }}` * **清晰的錯誤信息**:無論何時你在模版中遇到了語法錯誤,Twig都會輸出帶有出錯的文件名和行號的幫助信息。它非常有助于調試。 * **快速**:Twig的目標之一就是盡可能地快。為了盡可能實現最佳的速度,Twig將模版編譯成極致優化的PHP代碼。它的開銷與常規的PHP代碼相比,已經降到了極低。 ##Twig的背后 Twig 由[Fabien Potencier](http://http://fabien.potencier.org/)為你呈現,他是 [Symfony framework](http://symfony.com/)的作者。Twig以BSD許可協議發布。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看