當我們在PHP中討論模板引擎時,許多開發人員會告訴你,這是沒有必要的,他們會說這是學習時間和資源的浪費,因為PHP本質上也是一個模板引擎。但是當你看過很多框架之後,你會發現很多框架都會有模板引擎的存在,所以說php中的模板引擎還是有必要了解一下的。
Mustache
受 ctemplate 和 et等的啟發,Mustache 是一種與框架無關的方式來呈現無邏輯視圖。正如 ctemplates 所說,"它強調將邏輯與表示分離:不可能將應用程序邏輯嵌入到這種模板語言中。視圖不是由 ERB 或 HAML 組成的視圖,而是包含隨機幫助器和任意邏輯,而是分為兩個部分:PHP 類和 HTML 模板。所有邏輯、決策和代碼都包含在視圖中。所有標記都包含在模板中。模板除了在視圖中的引用方法外,什麼都不做。這種嚴格的分離使編寫乾淨的模板更容易,更容易測試視圖,並且更有趣地處理應用的前端。
以下代碼段提供了 Mustaches 語法外觀的預覽:
<code>Hello {{name}}
You have just won {{value}} dollars!
{{#in_ca}}
Well, {{taxed_value}} dollars, after taxes.
{{/in_ca}}/<code>
Plates
plates是一個原生PHP模板系統,快速,易於使用,易於擴展是它的特性。它受到出色的 Twig 模板引擎的啟發,並努力將現代模板語言功能引入 PHP 模板中。plates原生的PHP 模板而不是編譯的模板語言(如 Twig 或 Smarty),因此受到對速度要求極致的開發人員喜愛。
此模板引擎具有:
- 原生的 PHP 模板,無需學習新語法
- plates是模板系統,而不是模板語言
- plates鼓勵使用現有的PHP函數
- 通過模板佈局和繼承增加代碼重用
- 用於將模板分組到命名空間的模板文件夾
- 跨模板的數據共享
- 將數據預先分配給特定模板
- 內置逃生幫助器
- 易於使用的功能和擴展
- 與框架無關,將與任何項目配合使用
- 分離設計使模板易於測試
- 可以使用composer引入
以下代碼段提供了板模板引擎語法外觀的預覽:
<code>