劉芳芳
摘 要 近年來(lái)隨著網(wǎng)絡(luò)的發(fā)展,許多高校實(shí)驗(yàn)室也開發(fā)了自己的網(wǎng)站。本文使用ThinkPHP和七牛云存儲(chǔ),快速開發(fā)部署了輕便靈活的系統(tǒng)網(wǎng)站。完成了電子中心實(shí)驗(yàn)室網(wǎng)站系統(tǒng)的整體設(shè)計(jì)和實(shí)現(xiàn)。
【關(guān)鍵詞】ThinkPHP 七牛云存儲(chǔ) 實(shí)驗(yàn)室網(wǎng)站
隨著高校實(shí)驗(yàn)室建設(shè)的不斷發(fā)展,向外界展示自身的信息變得越來(lái)越重要。在網(wǎng)絡(luò)高速發(fā)展的今天,建立一整套實(shí)驗(yàn)室的網(wǎng)站成為標(biāo)準(zhǔn)配置的趨勢(shì)。實(shí)驗(yàn)室網(wǎng)站不但是實(shí)驗(yàn)室對(duì)外的“窗口”與“形象”,而且還在實(shí)驗(yàn)室的團(tuán)隊(duì)建設(shè)以及人才培養(yǎng)中起著很大的作用。
1 系統(tǒng)分析
PHP是目前熱門的Web開發(fā)語(yǔ)言,使用PHP技術(shù)搭配MySQL數(shù)據(jù)庫(kù)開發(fā)的后臺(tái)管理系統(tǒng),可以很好的實(shí)現(xiàn)信息的動(dòng)態(tài)管理和維護(hù)。經(jīng)過后臺(tái)管理系統(tǒng)處理過的信息可以實(shí)時(shí)的在前臺(tái)發(fā)布出來(lái),供用戶瀏覽和查詢。
2 功能分析
根據(jù)實(shí)驗(yàn)室的結(jié)構(gòu),網(wǎng)站功能主要為信息發(fā)布,按類別分為:實(shí)驗(yàn)中心概況、實(shí)驗(yàn)中心動(dòng)態(tài)、實(shí)驗(yàn)室實(shí)驗(yàn)教學(xué)、實(shí)驗(yàn)室課程介紹、在線課程、實(shí)驗(yàn)室中心成果、資源下載、實(shí)驗(yàn)室中心新聞、實(shí)驗(yàn)室中心通知等功能。
3 數(shù)據(jù)庫(kù)設(shè)計(jì)和建設(shè)
網(wǎng)站主要使用三個(gè)數(shù)據(jù)表實(shí)現(xiàn),如表1、表2、表3所示。
4 系統(tǒng)框架選擇和搭配
ThinkPHP框架是為了敏捷Web應(yīng)用開發(fā)和簡(jiǎn)化開發(fā)者應(yīng)用而設(shè)計(jì)的,是基于MVC結(jié)構(gòu)的開源PHP框架,ThinkPHP一直秉承實(shí)用簡(jiǎn)潔的設(shè)計(jì)思想,發(fā)揮開源和社區(qū)團(tuán)隊(duì)的優(yōu)勢(shì),不斷優(yōu)化和改進(jìn),在易用性、擴(kuò)展性和性能方面均有較好表現(xiàn),已經(jīng)成長(zhǎng)為國(guó)內(nèi)領(lǐng)先和具有影響力的敏捷的Web應(yīng)用開發(fā)框架,已被大量應(yīng)用于商業(yè)以及門戶級(jí)網(wǎng)站的開發(fā)。
本項(xiàng)目中有大量的靜態(tài)資源比如視頻、音頻和文件,作為教學(xué)資源提供給用戶下載。資源總體積解決1個(gè)G。如果全部放在Web服務(wù)器上訪問,一方面會(huì)影響Web服務(wù)器的硬盤空間,另一方面更麻煩的是要占用下載帶寬。
七牛云存儲(chǔ)是國(guó)內(nèi)領(lǐng)先的企業(yè)級(jí)云存儲(chǔ)服務(wù)商,由國(guó)內(nèi)存儲(chǔ)行業(yè)領(lǐng)軍人物之一的許式偉于2011年創(chuàng)立,專注于互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)企業(yè),提供資源管理的一整套解決方案,包括數(shù)據(jù)存儲(chǔ)、傳輸加速以及數(shù)據(jù)處理。七牛全球首創(chuàng)分布式多IDC存儲(chǔ)架構(gòu),加速節(jié)點(diǎn)已逾1000個(gè),真正做到上傳下載加速到極致。
因此本項(xiàng)目ThinkPHP做為開發(fā)框架以實(shí)現(xiàn)敏捷高效開發(fā),并利用把系統(tǒng)中體積大的靜態(tài)資源部署在七牛云存儲(chǔ),轉(zhuǎn)移了帶寬和存儲(chǔ)瓶頸。
5 系統(tǒng)功能開發(fā)
ThinkPHP部署系統(tǒng)目錄如圖1所示。
ThinkPHP是基于MVC設(shè)計(jì)模式的,它包括了模型(Model)層,視圖(View)層和控制器(Controller)層。本系統(tǒng)的數(shù)據(jù)模型比較簡(jiǎn)單,只有三張數(shù)據(jù)表,因此沒有用模型層,只用了視圖層和控制層分離系統(tǒng)的頁(yè)面效果和業(yè)務(wù)邏輯。
控制器負(fù)責(zé)處理業(yè)務(wù)邏輯,生成數(shù)據(jù),通過assign方法將數(shù)據(jù)傳輸給視圖層,本系統(tǒng)首頁(yè)的控制類主要代碼如下:
視圖層負(fù)責(zé)顯示功能,從控制層傳輸過來(lái)的數(shù)據(jù),使用模板語(yǔ)言編寫,經(jīng)過模板引擎渲染生成PHP文件。本系統(tǒng)主頁(yè)顯示循環(huán)輸出數(shù)據(jù)的視圖代碼如下,
在七牛云存儲(chǔ)注冊(cè)登錄后,即可上傳資源,并可以指定路徑。上傳成功以后會(huì)生成外鏈。將外鏈復(fù)制到本系統(tǒng)相應(yīng)需要調(diào)用鏈接的地方,如圖2所示。
開發(fā)出系統(tǒng)首頁(yè)效果如圖3所示。
6 總結(jié)
本系統(tǒng)采用了PHP語(yǔ)言采用ThinkPHP框架,并使用了免費(fèi)的MySQL數(shù)據(jù)庫(kù),開發(fā)敏捷高效。并且,把系統(tǒng)中體積較大的視頻和下載文件等靜態(tài)資源部署在云端服務(wù)器,減輕了Web服務(wù)器的壓力,使Web服務(wù)器更靈活,而專業(yè)的云服務(wù)器的分布式結(jié)構(gòu)也使得用戶訪問網(wǎng)站的體驗(yàn)更好。
參考文獻(xiàn)
[1]馬春光,歐陽(yáng)衛(wèi)平.實(shí)驗(yàn)室門戶網(wǎng)站在團(tuán)隊(duì)建設(shè)和人才培養(yǎng)中的作用研究黑龍江省高等教育學(xué)會(huì)[C].2015年學(xué)術(shù)年會(huì)暨理事工作會(huì)會(huì)議,2015.
[2]曹明.基于PHP 技術(shù)的實(shí)驗(yàn)室網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)[J].科技資訊,2009(16).
[3]ThinkPHP3.2.3完全開發(fā)手冊(cè)[Online]Available:http://www.kancloud.cn/manual/thinkphp/1679,基礎(chǔ)部分,2015.
[4]家庭影院技術(shù)Home Theater Tech,2015.
作者單位
桂林電子科技大學(xué)信息科技學(xué)院 廣西壯族自治區(qū)桂林市 541004