陳耀成
摘 要 廣州市高級(jí)技工學(xué)校在2013年開始國(guó)家中等職業(yè)技術(shù)學(xué)校示范校建設(shè),現(xiàn)已順利完成建設(shè)并通過驗(yàn)收。其中,示范校建設(shè)專題網(wǎng)站是作為示范校建設(shè)的重要組成部分,是展示示范校建設(shè)成果的重要平臺(tái)。建設(shè)動(dòng)態(tài)、成果展示和佐證材料等文件均需上傳到網(wǎng)站中。因此,建設(shè)一個(gè)簡(jiǎn)單高效又穩(wěn)定可靠的網(wǎng)站是尤為重要。本文對(duì)示范校專題網(wǎng)站建設(shè)進(jìn)行需求分析,詳細(xì)設(shè)計(jì)功能模塊,并實(shí)現(xiàn)系統(tǒng)功能。網(wǎng)站使用Div+Css布局,采用ThinkPHP作為開發(fā)框架,以MVC模式進(jìn)行開發(fā)。
關(guān)鍵詞 PHP;ThinkPHP;示范校專題網(wǎng)站;MVC模式
中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2018)202-0082-02
1 網(wǎng)站開發(fā)背景
為了提升中等職業(yè)院校的辦學(xué)水平、深化改革、加快發(fā)展,為行業(yè)和地區(qū)培養(yǎng)高技能人才,國(guó)家部委啟動(dòng)國(guó)家中等職業(yè)技術(shù)學(xué)校示范校建設(shè)項(xiàng)目。根據(jù)要求,各建設(shè)單位需要建立一個(gè)專題網(wǎng)站,用于展示建設(shè)過程和建設(shè)成果。根據(jù)文件的要求及我校的建設(shè)需求,我們采用ThinkPHP作為框架進(jìn)行開發(fā),原因是:
1)ThinkPHP是比較成熟的框架,框架成熟穩(wěn)定,可靠性高,不需要特別復(fù)雜配置過程,系統(tǒng)維護(hù)簡(jiǎn)單容易。
2)比較傳統(tǒng)PHP開發(fā)方法,ThinkPHP框架是采用模塊化的架構(gòu)設(shè)計(jì),上傳、驗(yàn)證碼、高速緩存、分頁(yè)和模型驗(yàn)證等功能都比較齊全,開發(fā)效率高。
2 開發(fā)技術(shù)簡(jiǎn)介
1)PHP:PHP是一種通用開源腳本語(yǔ)言,是文本預(yù)處理器(Hypertext Preprocessor)的縮寫。PHP語(yǔ)言吸收了C語(yǔ)言、Java和Perl的特點(diǎn),主要應(yīng)用于Web領(lǐng)域開發(fā)。PHP結(jié)合了C、Java、Perl的優(yōu)點(diǎn),內(nèi)置Zend加速引擎,系統(tǒng)資源占用少,性能穩(wěn)定快速,代碼執(zhí)行速度快。與其他語(yǔ)言相比,PHP能更快速地執(zhí)行。PHP具有很好的跨平臺(tái)行、開放性和可擴(kuò)展性,有很多成熟的框架,有成熟的面向?qū)ο篌w系,有比較完整的支持,適應(yīng)基本的面向?qū)ο笠螅m合中大型項(xiàng)目開發(fā)。
2)ThinkPHP:ThinkPHP是一個(gè)基于PHP的開發(fā)框架,ThinkPHP遵循Apache2開源協(xié)議。ThinkPHP是從Struts結(jié)構(gòu)移植過來并進(jìn)行改進(jìn)和完善的開發(fā)框架,采用面向?qū)ο蟮慕Y(jié)構(gòu)和MVC開發(fā)模式,可以在Windows/Linux/Unix等服務(wù)器下運(yùn)行,支持MySql、Sqlite、PgSQL多種數(shù)據(jù)庫(kù)。ThinkPHP能輕松簡(jiǎn)潔的實(shí)現(xiàn)數(shù)據(jù)庫(kù)對(duì)象關(guān)系映射,CURD(創(chuàng)建、修改、讀取、刪除)操作簡(jiǎn)單方便,開發(fā)效率非常高。
ThinkPHP框架包含了底層架構(gòu)、數(shù)據(jù)庫(kù)訪問層、基類庫(kù)、緩存機(jī)制、兼容處理、模板引擎、角色認(rèn)證、插件機(jī)制以及表單處理等常用的開發(fā)組件,是一個(gè)完善的系統(tǒng)開發(fā)解決方案,可以解決系統(tǒng)應(yīng)用開發(fā)中的大部分的需要。各組件都是功能完善、強(qiáng)大的,在不同平臺(tái)、不同版本,甚至不同的數(shù)據(jù)庫(kù)上移植都很方便。在應(yīng)用開發(fā)過程中,開發(fā)人員只需要集中精力在系統(tǒng)的業(yè)務(wù)邏輯上,開發(fā)效率高。
3)MVC:MVC是當(dāng)前流行的Web應(yīng)用設(shè)計(jì)框架的實(shí)施標(biāo)準(zhǔn),是軟件工程中的一種軟件架構(gòu)模式。它把軟件系統(tǒng)分為3個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller),目的是實(shí)現(xiàn)一種動(dòng)態(tài)和可持續(xù)的程序設(shè)計(jì),簡(jiǎn)化后期對(duì)程序的修改和擴(kuò)展, 并且使程序中一部分的代碼或功能重復(fù)利用成為可能。
4)FlashPaper:FlashPaper是Adobe公司推出的電子文檔類轉(zhuǎn)換工具,通過虛擬打印機(jī)將文檔文件轉(zhuǎn)換為SWF文件,原文檔的字體格式和排版樣式不會(huì)發(fā)生改變,并可以非常方便地進(jìn)行文檔縮小、放大、翻頁(yè)、選頁(yè)及打印操作。FlashPaper支持的格式包括有Word文檔、Excel電子表格、PPT演示文檔、TXT文本文件和JPG圖像文件等等。原來可編輯、可復(fù)制的原文檔通過轉(zhuǎn)換后,變?yōu)橹荒荛喿x的SWF格式,在線用戶不能把原文檔的文字和圖片復(fù)制出來,在不影響文檔的傳播,保持較高的安全性,對(duì)原文檔起了很好的保護(hù)作用。
用戶只需上傳的各類資源文檔,文檔轉(zhuǎn)換成SWF文件后,插入到系統(tǒng)網(wǎng)頁(yè)中發(fā)布即可,各類瀏覽器都能支持,閱讀者無(wú)須下載文檔,無(wú)需安裝專門的閱讀軟件,只需打開網(wǎng)站頁(yè)面即可在線閱讀。
3 系統(tǒng)設(shè)計(jì)
1)需求分析:需求分析是軟件計(jì)劃階段的重要活動(dòng),根據(jù)示范校建設(shè)要求及我校實(shí)際情況,示范校專題網(wǎng)站欄目包括以下幾個(gè):建設(shè)動(dòng)態(tài)、組織機(jī)構(gòu)、政策文件、重點(diǎn)專業(yè)、特色項(xiàng)目、教學(xué)資料、建設(shè)制度、典型案例、建設(shè)簡(jiǎn)報(bào)和佐證材料。根據(jù)文檔安全性的要求,同時(shí)為提高閱讀效果,在建設(shè)簡(jiǎn)報(bào)和佐證材料兩個(gè)功能模塊中,需要把文檔文件轉(zhuǎn)換為SWF格式文件,插入在系統(tǒng)頁(yè)面中,實(shí)現(xiàn)在線閱讀功能。建設(shè)動(dòng)態(tài)、組織機(jī)構(gòu)、政策文件、重點(diǎn)專業(yè)、特色項(xiàng)目、教學(xué)資料、建設(shè)制度、典型案例模塊需要提供文章上傳、閱讀、修改和刪除功能。網(wǎng)站系統(tǒng)用戶分為管理員和操作員兩類,管理員管理操作員,操作員管理文章。
2)功能設(shè)計(jì):在需求分析的基礎(chǔ)上進(jìn)行詳細(xì)分析,我們將系統(tǒng)分為用戶管理、文章管理、文章類型管理和SWF文件管理4個(gè)功能模塊。用戶管理模塊作用是管理使用用戶、設(shè)定角色、設(shè)置訪問系統(tǒng)的權(quán)限;文章類型管理模塊作用是添加、刪除、修改文章的類別;文章管理模塊作用是添加、刪除、修改文章。
依據(jù)面向?qū)ο笏枷爰跋到y(tǒng)功能模塊的劃分,我們將功能模塊抽象模擬為4個(gè)對(duì)象類:用戶類、文章類、類型類和SWF文件類。分析各個(gè)系統(tǒng)功能,賦予各對(duì)象類的方法和屬性。在本系統(tǒng)中,對(duì)象類的屬性不盡相同,而方法則基本為讀取、添加、刪除、修改。通過使用執(zhí)行和調(diào)用各對(duì)象的屬性和方法,從而完成系統(tǒng)的各項(xiàng)功能。
3)數(shù)據(jù)庫(kù)設(shè)計(jì):在數(shù)據(jù)庫(kù)設(shè)計(jì)階段,我們根據(jù)功能設(shè)計(jì)中對(duì)象類建立用戶表、文章表、文章類型表和SWF文件表,各數(shù)據(jù)表的字段值根據(jù)對(duì)象類的屬性進(jìn)行設(shè)置,并設(shè)置相應(yīng)的類型和長(zhǎng)度。本系統(tǒng)采用MySql作為數(shù)據(jù)庫(kù),ThinkPHP提供數(shù)據(jù)庫(kù)讀寫的數(shù)據(jù)訪問層,業(yè)務(wù)邏輯層不用直接訪問數(shù)據(jù)庫(kù)資源層,提高開發(fā)的效率。
4)功能實(shí)現(xiàn):網(wǎng)站使用Div+CSS建設(shè)系統(tǒng)頁(yè)面,后臺(tái)系統(tǒng)采用ThinkPHP框架及MVC模式開發(fā),將模型、視圖、控制器數(shù)分離開來,系統(tǒng)結(jié)構(gòu)清晰直觀。開發(fā)過程中簡(jiǎn)化了數(shù)據(jù)操作的處理過程,提高開發(fā)的速度,減少開發(fā)成本,同時(shí)也降低后期系統(tǒng)的修改維護(hù)管理的難度。在MVC模式下,先使用M函數(shù)實(shí)例化模型類,構(gòu)建寫入的數(shù)據(jù)數(shù)組,使用Add、Delete、Save和Where函數(shù)實(shí)現(xiàn)數(shù)據(jù)的添加、刪除、修改和查詢。在Lib/Model/目錄下定義好與數(shù)據(jù)表對(duì)應(yīng)的模型類UserModel. class.php、FileModel.class.php、KindsModel. class.php、SwfModel.class.php。同時(shí)在也在Lib/Action/目錄下添加了應(yīng)用模塊和寫下了系統(tǒng)的控制操作,并且在Tpl文件夾下建立了與之對(duì)應(yīng)的模板文件,實(shí)現(xiàn)系統(tǒng)的功能。
對(duì)于文件的轉(zhuǎn)換操作,系統(tǒng)需先安裝好FlashPaper,設(shè)置相應(yīng)的文件目錄。操作員上傳了文檔文件后,系統(tǒng)執(zhí)行SWF類的轉(zhuǎn)換方法,調(diào)用FlashPaper的轉(zhuǎn)換功能,對(duì)上傳的文檔進(jìn)行虛擬打印,將文檔轉(zhuǎn)換為SWF格式。轉(zhuǎn)換后的文件以時(shí)間加隨機(jī)數(shù)字進(jìn)行重命名。在頁(yè)面中,把SWF文檔嵌入網(wǎng)頁(yè)展示出來,實(shí)現(xiàn)在線閱讀功能。
4 結(jié)論
現(xiàn)在技工院校發(fā)展也是國(guó)家發(fā)展的重點(diǎn),通過示范校建設(shè),學(xué)校發(fā)展上了一個(gè)臺(tái)階,示范校建設(shè)專題網(wǎng)站設(shè)計(jì)也緊跟主流開發(fā)技術(shù)的步伐,網(wǎng)站使用Div+CSS建設(shè)網(wǎng)站頁(yè)面,使用PHP+MySQL的建設(shè)系統(tǒng)后臺(tái),以ThinkPHP作為框架開發(fā),合理分析需求,合理設(shè)計(jì)功能,提高開發(fā)效率,也提高系統(tǒng)的安全性和穩(wěn)定性。在系統(tǒng)實(shí)現(xiàn)中,使用FlashPaper組件對(duì)于文檔進(jìn)行轉(zhuǎn)換,實(shí)現(xiàn)了在線閱讀功能?;緷M足示范校專題網(wǎng)站的建設(shè)需求,達(dá)到的預(yù)期的目的。
參考文獻(xiàn)
[1]李晶.PHP技術(shù)應(yīng)用于中小網(wǎng)站開發(fā)探討[J].電腦知識(shí)與技術(shù),2014(17):4028-4029.
[2]鐘偉,唐發(fā)根.通用應(yīng)用系統(tǒng)性能評(píng)測(cè)環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算應(yīng)用,2014(2):141-144.
[3]李楊.基于PHP技術(shù)的CMS在網(wǎng)站開發(fā)中的應(yīng)用[J].信息通信技術(shù),2013(9):105-107.
[4]藍(lán)智靈,宋宇波,唐磊.基于直接內(nèi)核對(duì)象操作的進(jìn)程偽裝保護(hù)方法[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(1):24-29.