羅云芳
(廣西職業(yè)技術(shù)學(xué)院,廣西 南寧, 530226)
目前信息管理系統(tǒng)(MIS)已經(jīng)廣泛應(yīng)用于各行各業(yè),而不管應(yīng)用于哪個行業(yè)的信息管理系統(tǒng),其核心功能就是數(shù)據(jù)操作。所以,任何一個信息管理系統(tǒng)的開發(fā)、設(shè)計。其數(shù)據(jù)操作模塊設(shè)計的質(zhì)量好壞將直接影響著系統(tǒng)的可維護(hù)性、可移植性和可擴(kuò)展性。如何設(shè)計一個可維護(hù)性、可移植性和可擴(kuò)展性強(qiáng)的通用數(shù)據(jù)操作模塊是信息管理系統(tǒng)開發(fā)必須要考慮的問題。
如果在進(jìn)行信息管理系統(tǒng)開發(fā)時,沒有把數(shù)據(jù)操作功能獨立出來設(shè)計成一個模塊,而是在需要進(jìn)行數(shù)據(jù)操作時寫上相應(yīng)的數(shù)據(jù)操作功能代碼去實現(xiàn)。這種方式雖然能夠?qū)崿F(xiàn)數(shù)據(jù)操作功能,但會造成嚴(yán)重的代碼堆疊,而且系統(tǒng)的可維護(hù)性和可移植性都比較差。因此,設(shè)計一個通用的數(shù)據(jù)庫操作模塊,是設(shè)計開發(fā)一個信息管理系統(tǒng)的重要內(nèi)容。
PHP,是英文超級文本預(yù)處理語言Hypertext Preprocessor的縮寫。PHP是一種HTML內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,是一種比較流行的Web開發(fā)語言,現(xiàn)在大部分中小企業(yè)基于B/S架構(gòu)的信息管理系統(tǒng)都使用PHP語言進(jìn)行開發(fā)。PHP版本經(jīng)過發(fā)展,現(xiàn)在的PHP 5版本完全實現(xiàn)面向?qū)ο?,利用PHP的面向?qū)ο筇匦?,大大的方便了通用?shù)據(jù)庫操作模塊的設(shè)計與實現(xiàn)。
使用面向?qū)ο蟪绦蛟O(shè)計語言進(jìn)行信息系統(tǒng)開發(fā)時,數(shù)據(jù)庫操作功能的實現(xiàn)基本都遵循以下幾個步驟:
使用連接對象與數(shù)據(jù)庫建立連接。
打開連接對象。
構(gòu)建操作命令。
使用操作對象,執(zhí)行操作命令對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作。
關(guān)閉連接對象,斷開與數(shù)據(jù)庫的連接。
基于以上的數(shù)據(jù)庫操作步驟和PHP 5支持面向?qū)ο蟪绦蛟O(shè)計的特性,使用PHP設(shè)計通用數(shù)據(jù)庫操作模塊的思路是:
創(chuàng)建一個數(shù)據(jù)庫操作模塊頁面,并取名為dataHelpers.php。
在dataHelpers.php文件中創(chuàng)建一個操作數(shù)據(jù)庫的統(tǒng)一接口(dbHelpers)。
在dataHelpers.php文件中創(chuàng)建實現(xiàn)數(shù)據(jù)庫操作接口的類,在類中具體實現(xiàn)對數(shù)據(jù)庫操作的各種方法。
通用數(shù)據(jù)庫操作模塊頁面dataHelpers.php的實現(xiàn)原理圖如圖1所示:
圖1
按設(shè)計思路,首先在dataHelpers.php文件中創(chuàng)建操作數(shù)據(jù)庫的統(tǒng)一接口dbHelpers,實現(xiàn)的關(guān)鍵代碼如下:
接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現(xiàn),因此這些方法可以在不同的地方被不同的類實現(xiàn),而這些實現(xiàn)可以具有不同的行為(功能)。在此使用接口,就是利用接口以實現(xiàn)統(tǒng)一訪問不同數(shù)據(jù)庫的目的。interface是創(chuàng)建接口的關(guān)鍵字,接口中的各方法只有聲明,沒有具體的實現(xiàn),具體的實現(xiàn)在具體的數(shù)據(jù)庫操作類中實現(xiàn)。
接下來實現(xiàn)具體的數(shù)據(jù)庫操作類,以下是實現(xiàn)操作Mysql數(shù)據(jù)庫操作類的關(guān)鍵代碼:
除了能夠操作Mysql數(shù)據(jù)庫,通用數(shù)據(jù)庫操作模塊應(yīng)該還可以操作常用的數(shù)據(jù)庫,如sql server,Access,oracle等常用的數(shù)據(jù)。這樣才能達(dá)到通用的目的。此通用數(shù)據(jù)庫操作模塊正是基于這樣去設(shè)計的,如要操作sql server數(shù)據(jù)庫,只要設(shè)計一個繼承于dbHelpers接口的sql server數(shù)據(jù)庫操作類,并在類中完成實現(xiàn)功能的具體方法,就可以實現(xiàn)對sql server數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行增、刪、查、改的目的。整個sql server數(shù)據(jù)庫操作類基本和Mysql 數(shù)據(jù)庫操作類一樣,只是具體的數(shù)據(jù)庫操作函數(shù)不一樣,在此就不再對sql server數(shù)據(jù)庫操作類進(jìn)行詳細(xì)的設(shè)計。
上述通用數(shù)據(jù)庫操作模塊,支持對常用數(shù)據(jù)庫數(shù)據(jù)的增、刪、查、改等操作。在使用PHP語言開發(fā)信息管理系統(tǒng)時,可以直接使用本通用數(shù)據(jù)庫操作模塊實現(xiàn)對數(shù)據(jù)的操作,從而加快系統(tǒng)的開發(fā)效率,并增加了系統(tǒng)的可維護(hù)性和可擴(kuò)展性。
[1]郗亞輝,王 苗.通用查詢模塊的設(shè)計與實現(xiàn).河北大學(xué)學(xué)報.2003.9
[2]韓衛(wèi)媛,成艷真.PHP中類的應(yīng)用.濟(jì)源職業(yè)技術(shù)學(xué)院學(xué)報.2012.01