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