摘要:隨著動態網站信息量的大幅度增多,Web應用服務器的負擔也隨之增大。為此,采用目前最先進的PHP模板引擎Smarty開發完成了西安交通大學中英文主頁信息管理系統。Smarty強大的表現邏輯、智能的模板編譯和完善的安全機制,大大提高了系統的建站效率和運行效率,確保了信息的安全。同時Smarty靈活的頁面緩存機制以及所提供的全站純靜態化技術大大提高了網頁的編譯效率,減輕了服務器的負擔。
關鍵詞:Smarty;模板引擎;信息管理;MVC
中圖分類號:TN91134;TP311.5文獻標識碼:A文章編號:1004373X(2012)18002504
引言
Smarty是PHP里眾多著名、優秀的模板之一。它將應用程序分成視圖和邏輯控制兩部分實現,目的就是將UI(用戶界面)和PHP代碼分離。這樣,程序員在修改程序時,不會影響頁面設計,而美工在重新設計或修改頁面時,也不會影響程序邏輯。與其他模板相比,采用Smarty模板編寫的程序可以獲得最快的建站速度,尤其適合大中型網站建站使用。此外,Smarty提供了很多強大的功能,如強大的表現邏輯、智能的模板編譯、靈活的緩存機制、高度的可配置和可擴展性以及完善的安全機制[1]。本文結合基于Smarty的信息管理系統的開發經驗,具體介紹了Smarty模板的安裝和配置,并討論了頁面緩存技術和全站純靜態化技術在系統中的應用。
1Smarty模板介紹
Smarty的開發模式基于了模型視圖控制器框架(ModelViewController,MVC)的概念。PHP的MVC模型如圖1所示[2]。
視圖提供給用戶的界面。視圖只負責信息的收集和顯示,不涉及處理。
控制器負責處理視圖和模型的對應關系,并將視圖收集的信息傳給模型。
模型從接收過來的信息中進行處理,并將處理結果回傳給視圖[3]。
數據以及在數據上的運算構成了一個軟件應用模型。模型內部運行著系統核心的商業邏輯,其功能是維護內部數據,提供允許外部對象訪問和修改內部數據的命令或查詢。同時在它內部的數據發生變化時,將這個變化消息廣播給所有與之相關的視圖[2]。
2Smarty的安裝
PHP沒有內置的Smarty模板類,需單獨下載和配置。Smarty要求服務器上的PHP版本最低為4.0.6[3]。本文使用的PHP版本是5.2.6.6;Smarty版本為Smarty3.1.5。