smarty模板引擎

1)、模板引擎概念

? 模板引擎的功能是實現邏輯與顯示相分離,使程序設計者可以專注于程序功能的開發,使網頁設計師專注于頁面的設計。也可以讓網站的維護和更新變得更容易,創造一個更加


良好的開發環境,模板引擎不屬于特定技術領域,它是跨領域跨平臺的概念。

? 模板引擎不只是可以讓你實現代碼分離(業務邏輯代碼和用戶界面代碼),也可以實現數據分離(動態數據與靜態數據),還可以實現代碼單元共享(代碼重用),甚至是多語言、動態頁面與靜態頁面自動均衡(SDE)等等與用戶界面可能沒有關系的功能。

2)、模板引擎分類

? 模板引擎的實現方式有很多,最簡單的是“置換型”模板引擎,這類模板引擎只是將指定模板內容(字符串)中的特定標記(子字符串)替換一下便生成了最終需要的業務數據(比如網頁)。

? 置換型模板引擎實現簡單,但其效率底下,無法滿足高負載的應用需求(比如有海量訪問的網站),因此還出現了“解釋型”模板引擎和“編譯型”模板引擎等

? Smarty模版引擎屬于“編譯型”模板引擎。

3)、模板引擎實現過程(自定義模板引擎)

1.前端需要數據的地方我們用一個占位符{$data}

2.后端把需要的數據查找到$data

3.模板引擎合二為一。有兩個功能一個是從php中拿數據的功能,另外一個需要替換的功能

? 所以模板引擎有兩個核心的方法

1? assign('賦值的變量名','值'):把你想要展示的數據分配給前端頁面

2 display('模板的地址'),使用正則將對應的占位符換成對應的數據,并顯示替換后內容

4)Smarty模板引擎優點

速度:采用smarty編寫的程序可以獲得最大速度的提高

編譯型:采用Smarty編寫的程序在運行時要編譯(組合)成一個非模板技術的PHP文件,使后續的調用速度更快。

緩存技術:Smarty提供了一種可選擇使用的緩存技術,它可以將用戶最終看到HTML文件緩存成一個靜態的HTML頁。在smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態的HTML文件中來,這相當于調用一個靜態的HTML文件。

插件技術:Smarty采用面向對象實現,可以非常方便的定義一些插件。插件實際就是一些自定義的函數。

強大的表現邏輯:PHP負責后臺,Smarty負責前端。

圖片發自簡書App
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容