首頁  >  文章  >  後端開發  >  聊聊php模板引擎有哪些

聊聊php模板引擎有哪些

藏色散人
藏色散人原創
2021-11-30 15:37:364760瀏覽

PHP是一種HTML內嵌式的在伺服器端執行的腳本語言,所以大部分PHP開發出來的Web應用,初始的開發模板就是混合層的資料程式設計。雖然透過MVC設計模式可以把程式應用邏輯與網頁呈現邏輯強制分離,但也只是將應用程式的輸入、處理和輸出分開,網頁呈現邏輯(檢視)還會有HTML程式碼和PHP程式強耦合在一起。

類型

可以在PHP中應用的並且比較成熟的模板有很多,例如Smarty、PHPLIB、IPB、xingTemplate等數十種。使用這些透過PHP編寫的模板引擎,可以讓你的程式碼脈絡更加清晰,結構更加合理化。也可以讓網站的維護和更新變得更容易,創造一個更良好的開發環境,讓開發和設計工作更容易結合在一起。但是,對於一個PHP程式設計師來說,沒有哪一個PHP模板對他來說是最適合、最完美的。因為PHP模板就是大眾化的東西,並不是針對某個人開發的。如果能在對模板的特徵、應用有清楚的認識基礎上,充分認識到模板的優勢劣勢,就可以知道是否選擇使用模板或選擇使用哪個模板。

1、smarty

smarty是一個基於PHP開發的PHP模板引擎。它提供了邏輯與外在內容的分離,簡單的講,目的就是要使用PHP程式設計師同美工分離,使用的程式設計師改變程式的邏輯內容不會影響到美工的頁面設計,美工重新修改頁面不會影響程序的程序邏輯,這在多人合作的專案中顯的尤為重要。

2、Template Lite

Template Lite是非常快速且很小HTML模板引擎。此引擎支援Smarty模板引擎所具有的大部分功能和過濾器。

3、TinyButStrong

TinyButStrong(TBS)是一個可以讓PHP腳本和HTML檔案乾淨分離的PHP模板引擎。 TBS設計成可以使用任何視覺化HTML編輯器來撰寫TBS的HTML範本頁。

4、XTemplate

XTemplate是適用於PHP的模板引擎。它允許把HTML程式碼與PHP程式碼分開儲存。 XTemplate包含了許多有用的功能例如巢狀的程式區塊,各種類型的插值變數。其程式碼非常簡潔且是最優化的。

5、Savant

Savant是一個強大但輕量級的物件導向PHP模板引擎。不像其模板系統,Savant預設沒有把模板編譯成PHP,而是使用PHP本身來作為它的模板語言所以你不需要學習一套新的標記系統。 Savant有一個物件導向的範本插件系統和輸出過濾器,可以讓你快速為它新增新的行為。

6、phemplate

phemplate是一個簡單又快速的PHP模板引擎。它允許在模板中加入變數和一些動態程式區塊包括循環。這個模板引擎能夠實現表現與邏輯相分離,也就是說你可以從PHP腳本中抽出所有HTML內容。設計人員可以隨意更改HTML而不用擔心弄亂你的PHP腳本。

7、Dwoo

Dwoo是一個PHP5模板引擎。相容於Smarty模板,它在Smarty語法的基礎上完全進行重寫。支援透過插件擴充其功能。

8、Sugar

Sugar是一個類似Smarty的模板引擎,擁有一個簡潔且易於理解的語法。

9、Twig

Twig是一個靈活,快速,安全的PHP模板語言。它將模板編譯成經過最佳化的原始PHP程式碼。 Twig擁有一個砂箱模型來評估不可信的模板代碼。 Twig由一個靈活的詞法分析器和語法分析器組成,可以讓開發人員定義自己的標籤,過濾器並創建自己的DSL。

10、FXL Template

FXL Template是一個易於使用的模板引擎,提供了一個模板系統所擁有的所有基本功能。支援簡單的text/array分配,block和嵌套的blocks。擁有良好的規則表達式和簡單的模板語法,以實現盡可能快的模板處理。

11、H2o

H2o是一個PHP模板引擎,它擁有django風格的漂亮模板標籤。它大部分概念都源自於Django模板。特性:擁有可讀和自然的語法。復用模板Inclusion和繼承。國際化支持。各種緩存支援。

12、ns-template

2010年大約5月份時,感受到DEDE標籤主動調用資料概念適合CMS,所以開發了一些Smarty自訂修改器和自訂標籤,但是在執行過程中性能低下,開銷以s計,這是無法容忍的。分析跟踪,受自定義標籤實現的原理限制不可能快。於是在dz模板的基礎上加入了不少smarty語法以及自訂標籤功能。經歷了一年多線上運行和bug修復,並且彌補了DEDE標籤多層嵌套問題後,在較穩定的情況下釋出該版本。

13、Blade

Blade是Laravel框架下的一個簡單又強大的模板引擎。 Blade 非常快,因為只使用了少量的正規表示式來為你的模板編譯成原始PHP程式碼。不同於控制器佈局,Blade模板引擎由模板繼承和模板片段驅動。所有的Blade模板檔案必須使用Blade.blade.php檔案副檔名。

推薦學習:《PHP影片教學

以上是聊聊php模板引擎有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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