龔翔++張清
摘 要:該文介紹了基于ThinkPHP的CMS網站系統開發優勢:網站能及時更新、具有個性和便于維護管理等,并設計開發了一個基于ThinkPHP的通用CMS系統。該系統開發技術包括:ThinkPHP、SMARTY模板引擎、靜態緩存技術、接口技術、偽靜態路由技術;前端技術:HTML、jQuery、Ajax、jsonp。該系統后臺以ThinkPHP為支撐環境,采用MYSQL 管理數據。實現了前臺和后臺松耦合管理,體系結構靈活高效,系統安全性、可擴展性和易維護性好。關鍵詞:CMS;ThinkPHP;SMARTY;AJAX
目前,各種組織通過互聯網開展著多種多樣的業務,并且業務的種類和規模還在不斷擴大之中。同時信息系統的規模也越來越大,且信息的類型和存儲方式也五花八門,這使得系統的信息維護更加困難,迫切需要一種更加高效、平滑的管理方式來解決這個問題。其實縱觀整個市場、基于一個組織的官網通常是一些純內容展示網站。就拿大多數企業的網站需求來說,無非就是一些“公司介紹”、“產品展示”、“公司動態”、“聯系我們”等這樣顯示內容的頁面匯集而成的主頁。這些使得這種傳統的公司主頁技術上的重點轉移到了安全性和高效性上面。然而傳統靜態網站建設中存在很多問題,所以本文為采用動態網頁技術+靜態緩存技術+偽靜態技術+數據庫技術為基礎的CMS(content management system,內容管理系統)[1],它能滿足大多數企業或學校網等組織純展示類網站快速建設需求。
1 系統框架
CMS系統基本思想主要是分離內容地管理和設計[3],一個完整的CMS系統應該包含:后臺業務子系統管理(可以針對不同系統,方便管理者錄入相關內容)、Portal系統(輸出頁面)、前臺發布(面向用戶的緩存發布及搜索引擎的Spider的URL設計)、內容管理和表現的分離(后臺各子系統的內容管理邏輯和前臺的表現/發布分離)。
2 關鍵技術
2.1 ThinkPHP框架
ThinkPHP框架是MVC結構的開源PHP框架,遵循Apache2開源協議發布,是為簡化企業級應用開發和敏捷Web應用而開發的[4]。ThinkPHP擁有獨創的核心編譯和二分法項目編譯機制;內置XML模板引擎,支持標簽庫;目錄結構自動創建;分布式數據庫支持;ActiveRecords模式和豐富的ROR特性;SEO和URL路由支持;AJAX支持;基于角色的權限控制體系;內置了靜態緩存的功能,并且支持靜態緩存的規則定義。
2.2 靜態緩存技術
靜態緩存是在向數據庫插入新數據的同時生成靜態頁面并同步更新目錄頁面和相關索引頁上的鏈接,用戶在訪問時只訪問生成的靜態頁面。它的優點是用戶在訪問過程自始至終無需對數據庫進行操作,效率高,缺點是對靜態頁視圖模板進行修改時,需要重新生成所有靜態頁面。
2.3 AJAX技術
AJAX指異步JavaScript及XML(Asynchronous JavaScript And XML),它的核心是JavaScript對象XmlHttpRequest。它的技術包括使用CSS和XHTML來表示、使用DOM模型來交互和動態顯示、使用XMLHttpRequest來和服務器進行異步通信、使用javascript來綁定和調用。它對服務器也沒什么要求,可以為Java EE應用程序,.NET應用程序和其他類型的應用程序服務。通過Ajax,可以編寫javascript代碼來改進HTML,創建出豐富的交互性用戶體驗。
3 數據庫設計
本系統中數據庫表的設計為:管理員信息表包含管理員ID、密碼、等級、創建時間;文章信息表包含文章ID、標題、內容、作者、類型(圖文、圖片、文字)等;分類信息表包含分類ID、標題、父類分類ID、類型等;網站信息表包含站點ID、網站名、內容、序號等;鏈接信息表包含鏈接ID、標題、網址、時間等;消息信息表包含消息ID、標題、內容、狀態等;首頁導航信息表包含標題、網址、時間、序號等;界面設置信息表包含ID、分類ID、父類分類ID、文章ID、時間等。
4 系統實現
本系統的優點是方便靈活、安全性高,能解決不同組織下的快速建站需求。應用范圍廣,可以很好的應用于企業門戶、學校主頁、團隊展示、收藏品展示等。本文主要針對企業產品展示和學校精品課程網站進行了實現,學校精品課程網站前臺設計包括課程建設、教學內容、教學資源、作業習題、考核、理論教學、主講教師、授課錄像和申報表等欄目(http://jpkc.lutcte.cn/plc)。企業產品展示網站前臺包括首頁、公司新聞、產品欣賞、洮硯百科、公司簡介、聯系我們等(www.taoyange.com)。后臺管理界面如圖2所示。
5 總結
本文提出了基于ThinkPHP的CMS網站系統的設計與實現,大大提高了CMS 系統的軟件重用和開發效率,并結合.NET技術提高了系統結構優化、代碼利用率和系統的安全性。本系統中主要包括內容集成、內容智能、內容管理和內容發布四個功能,并將其應用到了學校和企業。在本系統中主要包括幾個重要模塊如新聞模塊、上傳和下載模塊、權限管理模塊。本系統具有很大靈活性且易于維護和集成,并通過偽靜態頁面技術保證了信息訪問的安全性。