Twig 簡介:快速啟動 WordPress 開發的完美工具

PHPz
發布: 2023-08-28 20:54:01
原創
1124 人瀏覽過

Twig 简介:快速启动 WordPress 开发的完美工具

關於WordPress 的未來已經有很多文章,許多人認為它缺乏模板語言,特別是當Django、Ruby on Rails、Node.js、Laravel 甚至Drupal 等平台都擁有模板語言時。像是「WordPress 為近 25% 的網路提供支援」這樣的事實讓人很難質疑其目前基於 PHP 的模板系統。但由於程式碼中的模組化仍然缺失,人們可以問核心何時會有模板引擎。

好消息就在這裡! Twig 模板引擎和一個名為 Timber 的外掛可以幫助我們在 WordPress 中編寫超級乾淨和模組化的程式碼。在本系列中,我們將討論它的實作以及與 WordPress 的整合。我將從 Twig 是什麼以及為什麼需要它的基礎知識開始,在接下來的三篇文章中,我將解釋透過 Timber 與 WordPress 整合的不同類型的 Twig 模板。

什麼是樹枝?

Twig 是一個靈活、快速且安全的 PHP 模板引擎。 Twig 由 Symfony 框架的創建者 Fabien Potencier 為您帶來,被認為是功能豐富、廣泛、快速且高效。

通常,當您在 WordPress 中編碼時,您會將 PHP 區塊與 HTML 混合在一起(這就是我們所說的意大利麵條程式碼)。這不屬於超乾淨的標記。為了採用模組化和 Doing it Right™ 方法,需要將 View##Data 分開。使用 Twig,您可以將視圖層與應用程式的其餘部分分開。 Twig 採用模型-視圖-控制器 (MVC) 模式,有助於維護乾淨的程式碼。

為什麼要使用 Twig?

多年來,開發了不同的 PHP 模板引擎,但 Twig 肯定在以下能力方面超越了所有這些引擎。

功能豐富

Twig 是功能最豐富、最強大的 PHP 模板引擎之一。它支援多重繼承和自動輸出轉義,並有助於將模板劃分為多個區塊或元件以保持模組化設計。不僅如此,開發者還可以添加更多外掛程式來滿足任何前端需求。

快速有效率

與普通 PHP 模板相比,透過 Twig 編譯的模板承擔的開銷要少得多。編碼例程已高度最佳化,您可以節省大量開發時間。當您計劃更改基本框架時,它也很有用,因為 Twig 可以幫助創建一個單獨的模板層,可以與任何後端框架(無論是 Laravel 還是 WordPress)連接。

設計者和開發者友善

#Twig 適合設計師和開發人員的要求。即使您不是程式碼迷,使用 Twig 也很簡單,而且基於元件編寫模組化模板感覺很正確。其語法易於理解,並且避免在模板檔案中實現動態 PHP 操作。總而言之,它非常現代,並且適用於所有最新的編碼標準。使用 Twig 處理時,輸出轉義概念非常全面。

讓我們從一個簡單的例子開始。

在常規 PHP 中,您會得到以下輸出:

<?php echo $foo;  // $foo is any random variable ?>
<?php echo htmlspecialchars( $foo, ENT_QUOTES, 'UTF-8' ) ?>
登入後複製

在 Twig 中,事情變得更加簡單,即上面的程式碼被壓縮為:

{{ foo }}       
{{ foo|escape }}
{{ foo|e }}         {# shortcut to escape a variable #}
登入後複製

輸出轉義在 Twig 中就是這麼簡單。只需添加雙大括號,輸入變數的名稱,您就會得到輸出。在旁邊放一個有 e 的管道,我們就開始轉義了。本系列接下來的三篇文章將詳細介紹這一點。

安全性

Twig 自行清理並保護資料。其獨特的

沙箱模式可以智慧地監控整個程式碼並過濾出最佳的結果。這意味著可以輕鬆、安全地實施使用者生成的模板。沙箱環境只能針對特定模板在全域或本地啟用,如下所示:

{{ include( 'post.html', sandboxed = true ) }}
登入後複製

如果出現任何語法錯誤,Twig 會產生一條訊息來偵錯您的文件,其中包含文件名稱和有問題程式碼的行號等詳細資訊。

靈活

我剛剛提到 Twig 是一個現代模板引擎,這也意味著您可以擴展它的功能,因為它非常靈活。它完全支援高效的

詞法分析器解析器,開發人員可以透過它們定義自訂標籤、過濾器、函數等。

其他

除了上面提到的所有功能之外,Twig 有很好的文件記錄並經過充分的單元測試。它的 API 和範本庫完全穩定,可以處理各種複雜的任務。還提供專門的線上書籍和完整的 API 文件。

Twig 是 Drupal 8 的新模板語言,這是我充滿信心地使用這個模板引擎的主要動機。 XWP 的優秀人員,尤其是 Weston Ruter,正在製定一項提案,使 Twig 符合 WordPress.com VIP 標準。

Timber:將 Twig 與 WordPress 整合

到目前為止,整個討論都圍繞著兩件事。首先,我們應該採用模組化方法,在建立自訂 WordPress 主題時將模板與資料分開,其次,Twig 可以幫助我們做到這一點。但是是什麼讓這兩者走在一起呢?

為了實現 Twig 和 WordPress 之間的最佳集成,人們做出了不同的努力,其中一項勇敢的嘗試是由一家名為 Upstatement 的網絡機構創建的 Timber。它使用 Twig 模板引擎,這使得在 WordPress 中編寫模組化和乾淨的程式碼成為可能。

Timber 和 Twig 可以幫助您建立快速且模組化的 WordPress 主題。這樣您就可以將 HTML 程式碼與普通 PHP 檔案分開,從而確保更永續的程式碼模式。將 HTML 和 PHP 分開的概念使得 PHP 檔案可以嚴格專注於提供 data 和邏輯,而 HTML 檔案(Twig 檔案)則專注於 view Web 應用程式層。

總的來說,Timber 執行三個主要任務:

  • #它將 Twig 整合到 WordPress 中。
  • 它渲染 Twig 模板。
  • 它新增了基礎 WordPress 資料集。

我認為他們的使命宣言說明了一切:

Timber 是一款適合希望透過直覺、一致且完全可存取的介面將 HTML 轉換為高品質 WordPress 主題的開發人員的工具。

  • 直覺:API 的編寫以使用者為中心,圍繞著程式設計師的期望。
  • 一致:所有 WordPress 物件都可以透過多型屬性(例如 slug、ID 和名稱)進行存取。
  • 可訪問:沒有黑盒子。我們已盡一切努力讓開發人員能夠存取 100% 的 HTML。

木材如何運作?

對於常規 WordPress 主題,所有 PHP 和 HTML 程式碼片段都整合在同一個 PHP 模板檔案中並進行修改。然而,使用 Timber,我們將模板文件拆分為兩個不同的資料文件:PHP 文件和視圖/模板文件,即 Twig 文件。

因此,第一個檔案的副檔名為 .php,第二個檔案的副檔名為 .twig。因此,如果您要為 single.php 建立模板文件,您的文件將命名為 single.phpsingle.twig

前者是整理資料的文件,後者是使用HTML中的資料的範本。這樣您就可以以模組化的方式在 WordPress 主題中加入動態操作。

讓我們總結一下:

Timber 處理 PHP 和 HTML (Twig) 檔案中的 WordPress 主題模板檔案。這樣您就可以將邏輯與顯示分開。它為您提供了構建、設計和顯示主題的新方法。

結論

Twig 有很多值得喜愛的地方。本文只是介紹在 WordPress 中使用模板引擎的優點。模組化程式碼是更好的程式碼並且易於維護。現在是開發人員進行工作流程轉變的時候了,我相信 Twig 可以幫助他們做到這一點。

在接下來的文章中,我將展示使用 Twig 範本檔案的實際實作。我們將透過程式碼範例研究如何實作 Twig 來渲染 WP 圖像、評論和選單。在此之前,如果您發現任何疑問,請隨時詢問。不要忘記在 Twitter 上聯絡我們。

以上是Twig 簡介:快速啟動 WordPress 開發的完美工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!