【摘 要】以NCRE成績查詢管理系統(tǒng)為例,介紹了采用PHP程序語言編寫代碼,利用MVC框架結(jié)構(gòu)設(shè)計理念,通過用戶界面與程序本身隔離, 由控制器層維護(hù)整個查詢系統(tǒng)的流程;對主要的操作函數(shù)代碼進(jìn)行了說明分析。
【關(guān)鍵詞】PHP框架 NCRE 成績查詢
【中圖分類號】 G 【文獻(xiàn)標(biāo)識碼】A
【文章編號】0450-9889(2015)01C-0182-03
隨著高職教育的發(fā)展,信息化的教學(xué)管理是國家示范性骨干院校建設(shè)的一個重要組成部分,體現(xiàn)了高職院校在教學(xué)方面的管理水平,充分利用信息化與校園網(wǎng)絡(luò)的理念和手段促進(jìn)了高職計算機的教學(xué)管理,不僅方便了教師授課,也方便了學(xué)生獲取相關(guān)的教學(xué)信息。NCRE是National Computer Rank Examination的簡稱,中文為全國計算機等級考試,是經(jīng)原國家教育委員會(現(xiàn)教育部)批準(zhǔn),由教育部考試中心主辦,面向社會,用于考查應(yīng)試人員計算機應(yīng)用知識與技能的全國性計算機水平考試體系。自1994年開考以來,二十年來歷經(jīng)了多次改革與變化,目前全國計算機等級考試一年舉辦兩次,分別在每年的三月和九月的下旬,然而,考生在查詢計算機等級考試成績的時候,由于教育部網(wǎng)站公布成績的時間往往比較晚,考生等待查詢成績的時間比較久。若考點能建立自己的成績查詢網(wǎng)站,考點從相關(guān)教育部門得到考生成績后,并及時公布考試成績,則能方便各考點考生在內(nèi)部網(wǎng)站查詢成績。筆者采用PHP程序設(shè)計語言編寫代碼,以ThinkPHP框架結(jié)構(gòu)設(shè)計的方法創(chuàng)建了我院全國計算機等級考試成績查詢系統(tǒng),方便了該項考試工作的開展。
一、網(wǎng)絡(luò)結(jié)構(gòu)模式
網(wǎng)站系統(tǒng)的設(shè)計,往往采用B/S的網(wǎng)絡(luò)結(jié)構(gòu)模式。B/S是基于Intranet的需求而出現(xiàn)并發(fā)展的,Intranet是企事業(yè)單位內(nèi)部專業(yè)網(wǎng)絡(luò)。作為高職院校來說,都建設(shè)有自己的校園網(wǎng),此成績查詢系統(tǒng)的設(shè)計,都是基于校園網(wǎng)絡(luò)的基礎(chǔ)之上建設(shè)出來的。在校園網(wǎng)內(nèi),采用B/S模式,客戶端只要運行瀏覽器軟件,則會以超文本的形式向網(wǎng)站后臺服務(wù)器提出訪問數(shù)據(jù)庫的要求,后臺服務(wù)器接受到客戶端請求后,將這個請求轉(zhuǎn)化為SQL語法,并提交給數(shù)據(jù)庫服務(wù)器,被驗證其合法性后,會進(jìn)行數(shù)據(jù)的處理,后臺服務(wù)器最后會將得到的結(jié)果轉(zhuǎn)發(fā)給客戶端瀏覽器。
二、NCRE成績字段信息
全國計算機等級考試分為四個等級,從全國一級到四級,每個等級都有多個不同的考試科目,考試最終的結(jié)果分為“缺考”“不及格”“及格”“良好”“優(yōu)秀”等幾種情況,通過考試的證書上分為“合格”與“優(yōu)秀”兩種字樣,查詢成績時,顯示的信息有考點名稱、準(zhǔn)考證號、姓名、考試科目、身份證號、總成績等考試信息,但是考點得到的成績信息是具體的考試成績分?jǐn)?shù)所在的等級,而且該等級也是由數(shù)字0至3來表示,所以要經(jīng)過后臺程序的處理后才能得到相關(guān)的公布信息。操作表中相關(guān)字段如圖1所示:
三、MVC框架結(jié)構(gòu)介紹
MVC模式對于Web應(yīng)用的開發(fā)來說無疑是一種非常先進(jìn)的設(shè)計思想,能為構(gòu)造產(chǎn)品提供清晰的設(shè)計框架。MVC模式將用戶界面與程序本身隔離, 利用控制器來維護(hù)整個系統(tǒng)的流程。目前PHP程序語言使用的開發(fā)框架有很多,本查詢系統(tǒng)是在ThinkPHP框架下建設(shè)而成。MVC是Model_View_Control的縮寫,MVC是一個設(shè)計模式,它使Web應(yīng)用程序的輸入、處理和輸出分開進(jìn)行,Model(模型)包含了應(yīng)用問題的核心數(shù)據(jù)、邏輯關(guān)系和計算功能,提供了完成問題處理的操作過程。View(視圖)則是通過顯示的形式,把信息轉(zhuǎn)達(dá)給用戶,不同的視圖通過不同的顯示,來表達(dá)模型的數(shù)據(jù)和狀態(tài)信息,在實際的設(shè)計過程中,程序員則是根據(jù)Control(控制器)里對應(yīng)的操作函數(shù),來編寫相關(guān)的視圖,或者說是相應(yīng)的超文本文件。Control通過時間觸發(fā)的方式,接受用戶的輸入。每個操作函數(shù)的功能,都在控制器里進(jìn)行設(shè)計,并通過模板視圖顯示出相關(guān)的信息。
四、成績查詢系統(tǒng)的MVC的實現(xiàn)與分析
PHP程序設(shè)計中,結(jié)合MYSQL數(shù)據(jù)庫管理。首先要在數(shù)據(jù)庫中正確導(dǎo)入成績數(shù)據(jù),保證數(shù)據(jù)的正確性,通過PHP的控制層與模板層關(guān)系,正確查詢出數(shù)據(jù)庫中的相關(guān)數(shù)據(jù)信息,采用MVC框架設(shè)計結(jié)構(gòu),明確分工,可實現(xiàn)多人同時編寫代碼。NCRE成績查詢系統(tǒng)相對簡單,設(shè)計容易,只要輸出模板進(jìn)行美化后,則可得到不錯的數(shù)據(jù)輸出顯示效果,下面以MVC結(jié)構(gòu)各層次中主要的代碼段進(jìn)行簡單介紹。
(一)數(shù)據(jù)模型層的實現(xiàn)
MVC的設(shè)計模式中,數(shù)據(jù)模型層的實現(xiàn)主要有兩個方面,其一是對數(shù)據(jù)庫直接操作的封裝,即數(shù)據(jù)庫操作類;其二是基于這個類對數(shù)據(jù)庫的操作。在NCRE成績查詢的網(wǎng)站系統(tǒng)中,ThinkPHP 創(chuàng)建簡潔模式Model模型類,在類中創(chuàng)建多個函數(shù),作為封裝數(shù)據(jù)庫存操作類來使用。
例如在Model模型類中創(chuàng)建對數(shù)據(jù)庫存的操作,實現(xiàn)增加、刪除與關(guān)閉數(shù)據(jù)庫存:
(二)控制器層的實現(xiàn)
Control層的實現(xiàn)則是整個后臺程序設(shè)計的核心,對成績查詢的操作都必須有相應(yīng)的函數(shù)來支撐,直接通過頁面接受請求,然后對請求的參數(shù)做判斷并調(diào)用相應(yīng)的模型。下面在該控制器層內(nèi)創(chuàng)建成績查詢的Cj類,代碼如下所示:
CJ類中包含對數(shù)據(jù)庫的所有相關(guān)操作函數(shù),成績查詢操作函數(shù)代碼如下:
此函數(shù)是從查詢頁面獲取到相關(guān)的信息,如姓名、準(zhǔn)考證號或是身份證號等,通過獲取到的信息,再從數(shù)據(jù)庫中去查找相對應(yīng)的數(shù)據(jù)記錄。如果沒有查詢到相關(guān)記錄信息,則會給予相關(guān)的提示,如果查詢成功,則將查詢的數(shù)據(jù)進(jìn)行處理后,發(fā)送到視圖模塊中顯示出來。在處理數(shù)據(jù)的過程中,對于報考科目的種類、數(shù)據(jù)則以數(shù)字代碼來表示,所以在發(fā)送到視圖模板前,必須將其轉(zhuǎn)換成相應(yīng)的考生能識別的科目名稱,代碼中以一個分支結(jié)構(gòu)的CASE語句的函數(shù)來實現(xiàn),下面列舉部分代碼內(nèi)容,如下所示:
總成績也是以數(shù)字代表相關(guān)的考試信息,主要分為“缺考”“不及格”“及格”“良好”“優(yōu)秀”等幾種情況,這種類型的數(shù)據(jù)處理也是以分支選擇結(jié)構(gòu)來實現(xiàn)即可。
(三)視圖層的實現(xiàn)
視圖層的實驗可以使用現(xiàn)有的模板引擎,來實現(xiàn)代碼和數(shù)據(jù)的分離,也可以使用原生的PHP做模板,此成績查詢系統(tǒng)則使用普通的超文本文件HTML作為視圖模板,通過控制器發(fā)過來的數(shù)據(jù)信息,則可以實現(xiàn),以下是從Control層傳過來的數(shù)據(jù)信息,并通過Cj.html顯示出來,以下是Cj.html中接收數(shù)據(jù)信息的主要代碼:
總之,采用MVC框架結(jié)構(gòu)的設(shè)計,有助于將應(yīng)用程序分割成若干邏輯部件,使程序設(shè)計變得更加容易,能快速設(shè)計出實用的網(wǎng)站后臺程序,形成清晰的程序框架,由于模型返回的數(shù)據(jù)沒有進(jìn)行格式化,所以同樣的數(shù)據(jù)集能被不同視圖界面使用,實現(xiàn)多個視圖共享一個模型。由于MVC設(shè)計的特點,為以后的網(wǎng)站維護(hù),或是系統(tǒng)的升級方面創(chuàng)造了有利的條件。
【參考文獻(xiàn)】
[1]張世博,周樹杰,閔艷.基于JAVA的MVC框架結(jié)構(gòu)與實現(xiàn)[J].北京石油化工學(xué)院學(xué)報,2006(3)
[2]黃勝要,陳蜀宇.基于ASP.NET.MVC框架的干教系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2010(2)
[3]何俊斌,陳浩.從零開始學(xué)PHP[M].北京:電子工業(yè)出版社,2011
【基金項目】廣西機電職業(yè)技術(shù)學(xué)院院級項目(2013)KY009
【作者簡介】蔣桂文(1978- ),男,廣西灌陽人,廣西機電職業(yè)技術(shù)學(xué)院實驗師,工程碩士,研究方向:實驗管理,計算機網(wǎng)絡(luò)基礎(chǔ)教學(xué)。
(責(zé)編 丁 夢)