1)、模板引擎概念
? 模板引擎的功能是實現邏輯與顯示相分離于宙,使程序設計者可以專注于程序功能的開發(fā)浮驳,使網頁設計師專注于頁面的設計。也可以讓網站的維護和更新變得更容易捞魁,創(chuàng)造一個更加
良好的開發(fā)環(huán)境至会,模板引擎不屬于特定技術領域,它是跨領域跨平臺的概念谱俭。
? 模板引擎不只是可以讓你實現代碼分離(業(yè)務邏輯代碼和用戶界面代碼)奉件,也可以實現數據分離(動態(tài)數據與靜態(tài)數據),還可以實現代碼單元共享(代碼重用)昆著,甚至是多語言县貌、動態(tài)頁面與靜態(tài)頁面自動均衡(SDE)等等與用戶界面可能沒有關系的功能。
2)凑懂、模板引擎分類
? 模板引擎的實現方式有很多煤痕,最簡單的是“置換型”模板引擎,這類模板引擎只是將指定模板內容(字符串)中的特定標記(子字符串)替換一下便生成了最終需要的業(yè)務數據(比如網頁)接谨。
? 置換型模板引擎實現簡單摆碉,但其效率底下,無法滿足高負載的應用需求(比如有海量訪問的網站)脓豪,因此還出現了“解釋型”模板引擎和“編譯型”模板引擎等
? Smarty模版引擎屬于“編譯型”模板引擎巷帝。
3)、模板引擎實現過程(自定義模板引擎)
1.前端需要數據的地方我們用一個占位符{$data}
2.后端把需要的數據查找到$data
3.模板引擎合二為一扫夜。有兩個功能一個是從php中拿數據的功能楞泼,另外一個需要替換的功能
? 所以模板引擎有兩個核心的方法
1? assign('賦值的變量名','值'):把你想要展示的數據分配給前端頁面
2 display('模板的地址'),使用正則將對應的占位符換成對應的數據,并顯示替換后內容
4)Smarty模板引擎優(yōu)點
速度:采用smarty編寫的程序可以獲得最大速度的提高
編譯型:采用Smarty編寫的程序在運行時要編譯(組合)成一個非模板技術的PHP文件笤闯,使后續(xù)的調用速度更快现拒。
緩存技術:Smarty提供了一種可選擇使用的緩存技術,它可以將用戶最終看到HTML文件緩存成一個靜態(tài)的HTML頁望侈。在smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態(tài)的HTML文件中來印蔬,這相當于調用一個靜態(tài)的HTML文件。
插件技術:Smarty采用面向對象實現脱衙,可以非常方便的定義一些插件侥猬。插件實際就是一些自定義的函數例驹。
強大的表現邏輯:PHP負責后臺,Smarty負責前端退唠。