《基于jQuery和LAMP的內容管理系統(tǒng)的研究與實現(xiàn)》由會員分享,可在線閱讀,更多相關《基于jQuery和LAMP的內容管理系統(tǒng)的研究與實現(xiàn)(2頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于jQuery和LAMP的內容管理系統(tǒng)的研究與實現(xiàn)
摘 要:針對現(xiàn)有內容管理系統(tǒng)的缺點和Web2.0開發(fā)過程中的實際需求,提出以jQuery和LAMP技術為開發(fā)平臺,實現(xiàn)內容管理和表現(xiàn)的分離,內容管理和數(shù)據(jù)分發(fā)的分離,可視鏈接改良,數(shù)據(jù)性能優(yōu)化,面向搜索引擎友好的CMS。系統(tǒng)結合php模板引擎Smarty和Web前端新興javascript框架jQuery,采用高性能PHP開源框架Yii Framework,在由Ubuntu Linux和Mysql數(shù)據(jù)庫搭建的系統(tǒng)和數(shù)據(jù)環(huán)境中改進CMS功能和效率。
關鍵詞:內容管理系統(tǒng)(CMS);jQuery;LAMP;Yii Framewo
2、rk;Smarty
基于jQuery和LAMP的內容管理系統(tǒng)實現(xiàn)了網(wǎng)站模板與網(wǎng)站程序完全分離,后臺管理采用方便、易用、人性化的操作方式,使用基于角色的用戶管理,有效地解決了現(xiàn)實網(wǎng)站開發(fā)中的諸多問題。1.體系結構1.1 Yii框架的體系結構Yii 使用了 Web 開發(fā)中廣泛采用的模型-視圖-控制器(MVC)設計模式。在 MVC中,模型代表信息(數(shù)據(jù))和業(yè)務規(guī)則;視圖包含了用戶界面元素,例如文本,表單等;控制器則管理模型和視圖中的通信。1.2基于jQuery和LAMP的內容管理系統(tǒng)體系結構在Ubuntu Linux操作系統(tǒng)和MySQL數(shù)據(jù)庫的基礎上,采用jQuery和Yii Fr
3、amework開發(fā)內容管理系統(tǒng),視圖層和業(yè)務層分離,具有低耦合性,高重用性,可適用性,較低的生命周期成本,快速的部署,可維護性,有利于軟件工程化管理等優(yōu)點?!〉谝粚訛楸憩F(xiàn)層,利用優(yōu)秀的javascript框架jQuery構筑內容管理系統(tǒng)以及網(wǎng)站頁面的前端表現(xiàn)元素,使用Smarty將控制器中變量賦到頁面中;第二層為業(yè)務層,主要負責內容管理系統(tǒng)各項管理業(yè)務邏輯的實現(xiàn),處理用戶的請求,返回響應;第三層為數(shù)據(jù)處理層,利用Yii框架的數(shù)據(jù)訪問對象,查詢構造器和基于對象關系映射的動態(tài)記錄實現(xiàn)MySQL數(shù)據(jù)庫的增、刪、改、查和表連接等操作,返回業(yè)務層所需數(shù)據(jù)。2.關鍵技術 內容管理系統(tǒng)的實現(xiàn)技術分為前端和
4、后端兩方面,前端為javascript及其框架jQuery和CSS、Smarty等,后端使用php框架Yii,項目中將會涉及到Yii的MVC模式和它的各個組件,如緩存、表單、數(shù)據(jù)庫組件。2.1 jQuery框架 jQuery采用CSS選擇器引擎Sizzle實現(xiàn)html元素提取、html元素操作、css操作,提供了html事件處理函數(shù)、javascript特效和動畫、html dom遍歷和修改、ajax和實用工具,還可以通過插件機制實現(xiàn)擴展開發(fā)。2.2 Ajax技術 Ajax指異步JavaScript及XML(Asynchronous JavaScript And XML),實現(xiàn)了從基于We
5、b的應用到基于數(shù)據(jù)的應用的轉換過程。通過Ajax,JavaScript可使用XMLHttpRequest對象來直接與服務器進行通信,在不重載頁面的情況與Web 服務器交換數(shù)據(jù)。2.3 Yii框架的工作流程舉例來說,用戶發(fā)出訪問URL 處理此請求,入口腳本創(chuàng)建一個應用實例并執(zhí)行。應用從一個叫做 request 的應用組件中獲得了用戶請求的詳細信息,在一個叫做 urlManager 的應用組件的幫助下,決定請求的控制器和動作 。3.內容管理的實現(xiàn)3.1項目核心功能的實現(xiàn)首先需要有一個整體規(guī)劃,合理的組織目錄結構,處理好各模塊之間的關系,處理好各部分之間的順序。對于使用頻繁的函數(shù),為了實現(xiàn)代碼重用,
6、將其寫入一個公共文件里。最重要的模塊是文章系統(tǒng),實現(xiàn)查看文章、搜索文章、根據(jù)標簽搜索文章等功能。3.2附件上傳與圖片處理上傳文件有單文件上傳、多文件上傳之分,有的將文件保存在文件夾中,有的保存在數(shù)據(jù)庫中。程序需要判斷是否是圖片附件,如果是圖片附件,則判斷后臺是否允許生成縮略圖,如果圖片的尺寸比規(guī)定的縮略圖的尺寸大,則計算縮略圖尺寸,生成縮略圖。3.3后臺管理模塊文章管理模塊:模板、文章列表等;模板管理模塊:程序模塊、模板;評論管理模塊:設置評論可見狀態(tài)、批量處理評論;友情鏈接管理模塊:添加友情鏈接、更新友情鏈接等;數(shù)據(jù)管理模塊:修復數(shù)據(jù)庫、備份數(shù)據(jù)庫。3.4安全部署與優(yōu)化環(huán)境設置與程序安全:設
7、置php安全模式、設置腳本訪問目錄、設置禁用函數(shù)、設置register_globals、設置magic_quotes_gpc、設置報錯信息;防止注入漏洞等。4.結束語基于jQuery和LAMP的內容管理系統(tǒng),利用jQuery的跨瀏覽器特性以及豐富的函數(shù)庫增強了網(wǎng)站內容的用戶體驗,利用Yii框架的MVC模式提高了網(wǎng)站開發(fā)的效率,降低了網(wǎng)站維護的成本,深化了內容管理系統(tǒng)的研究與應用,具有重要的實用價值。參考文獻:【1】 陳洪波. 基于門戶技術的內容管理系統(tǒng)研究. 碩士學位論文. 中國科學院計算技術研究所. 2006.4.【2】 卞景賀. 基于J2EE的內容管理系統(tǒng)設計與實現(xiàn). 碩士學位論文. 廈門大學. 2008.11.【3】 單丹東,張曉菲,魏然. 鋒利的jQuery . 人民郵電出版社 , 2009.6.【4】 三揚科技. 大道PHP:LAMP+Zend+開源框架整合開發(fā)與實戰(zhàn) .電子工業(yè)出版社 , 2010.7.