倪志宏 王蘊(yùn)珠
摘要:根據(jù)該校機(jī)房管理網(wǎng)站的建設(shè)目標(biāo)以及網(wǎng)站應(yīng)有的功能,論文提出了實(shí)驗(yàn)室管理網(wǎng)站的系統(tǒng)結(jié)構(gòu)和設(shè)計(jì)方案。詳細(xì)介紹了MySQL數(shù)據(jù)庫和成熟MVC框架ThinkPHP在此網(wǎng)站中的應(yīng)用。
關(guān)鍵詞:網(wǎng)站建設(shè);數(shù)據(jù)庫;PHP;MySQL;MVC
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)23-5575-02
The Construction and Research on the Website Management System of Computer Room
NI Zhi-hong,WANG Yun-zhu
(Computer Center of Hebei University, Baoding 071002, China)
Abstract: According to the management goal and website features of Computer Center lab of our university, the paper presentes system ar? chitecture and design of Computer laboratory management website and introduces the technology of MySQL database and PHP in the ap? plication of this site in details.
Key words: network station construction; database; PHP; MySQL; MVC
隨著計(jì)算機(jī)技術(shù)在其他學(xué)科應(yīng)用,學(xué)校計(jì)算機(jī)機(jī)房數(shù)量越來越多。如何為教師和學(xué)生搭建一個(gè)先進(jìn)實(shí)用的機(jī)房試驗(yàn)平臺,做到資源共享,優(yōu)化機(jī)房管理人員的工作流程,減輕管理人員和教師的勞動強(qiáng)度,方便機(jī)房之間、教師之間、教師與學(xué)生之間以及管理者與以上人群之間的溝通與交溝通。
1機(jī)房管理網(wǎng)站的建設(shè)目標(biāo)和各模塊簡介
機(jī)房管理網(wǎng)站是針對學(xué)校計(jì)算機(jī)實(shí)驗(yàn)室分散的特點(diǎn),為了保證各機(jī)房的協(xié)調(diào)運(yùn)行,滿足實(shí)驗(yàn)教學(xué)信息管理需要,滿足各級管理人員和教師、學(xué)生的信息需求而開發(fā)的。因此,我們根據(jù)訪問者的需求將機(jī)房管理網(wǎng)站劃分為以下幾個(gè)模塊:
1)通知與公告模塊:在這個(gè)模塊中發(fā)布機(jī)房課表及相關(guān)課程機(jī)位占用情況,指導(dǎo)學(xué)生合理選擇業(yè)余上機(jī)時(shí)間,當(dāng)有特殊情況需要調(diào)停實(shí)驗(yàn)課程或因考試等原因臨時(shí)占用機(jī)房時(shí)也在這個(gè)模塊中及時(shí)發(fā)布公告。
2)學(xué)習(xí)與交流模塊:我們在這里為廣大同學(xué)提供了一些課程的課件視頻等資源,同時(shí)提供了一個(gè)簡易的學(xué)習(xí)交流平臺。
3)資源下載模塊:提供常用軟件、電子書等資源的下載。
4)網(wǎng)上調(diào)查模塊:利用此模塊對上機(jī)學(xué)生不定期地進(jìn)行一些網(wǎng)上調(diào)查,及時(shí)了解學(xué)生相關(guān)狀態(tài)。
5)規(guī)章制度模塊:提供“機(jī)房安全制度”、“機(jī)房工作人員守則”、“計(jì)算機(jī)網(wǎng)管理暫行辦法”、“實(shí)驗(yàn)室開放制度”、“運(yùn)行室管理制度”、“開放式計(jì)算機(jī)機(jī)房守則”和“上機(jī)實(shí)驗(yàn)守則”等各項(xiàng)規(guī)章制度,使實(shí)驗(yàn)室得以規(guī)范、安全的正常運(yùn)行。
2網(wǎng)站的運(yùn)行平臺及其開發(fā)工具
LAMP是基于Linux,Apache,MySQL和PHP的開放資源網(wǎng)絡(luò)開發(fā)平臺,互聯(lián)網(wǎng)上70%以上的網(wǎng)站訪問流量都是由它提供的。它免費(fèi)、高效、開發(fā)迅速,它是最強(qiáng)大的網(wǎng)站解決方案。因此我們也選擇LAMP作為機(jī)房管理網(wǎng)站的運(yùn)行平臺。
為了進(jìn)一步提高開發(fā)效率我們還引入了一種PHP開發(fā)框架—ThinkPHP,它是一個(gè)基于MVC設(shè)計(jì)模式的面向?qū)ο蟮妮p量級PHP開發(fā)框架。引入此框架后網(wǎng)站的設(shè)計(jì)與開發(fā)變得極其有條理,我們只需要根據(jù)ThinkPHP的約定在項(xiàng)目的Lib目錄下的Action目錄中加入需要的控制邏輯,在Lib目錄下的Model目錄中建立需要的模型的定義,在Tpl目錄中放置頁面模板即可完成網(wǎng)站的開發(fā)。
在開發(fā)工具的選擇上,我們使用Adobe公司著名的網(wǎng)站開發(fā)工具Dreamweaver進(jìn)行頁面模板的設(shè)計(jì),使用Oracle公司免費(fèi)開源的NetBeans進(jìn)行PHP編碼,使用小巧的Navicat進(jìn)行MySQL數(shù)據(jù)庫的管理,網(wǎng)站上的圖片、動畫分別使用Adobe公司的Photoshop和Flash進(jìn)行編輯與制作。
3網(wǎng)站開發(fā)的關(guān)鍵代碼
網(wǎng)站開發(fā)的核心問題是如何在ThinkPHP框架下訪問MySQL數(shù)據(jù)庫,顯示查詢結(jié)果,根據(jù)用戶提交的內(nèi)容更新數(shù)據(jù)庫相關(guān)數(shù)據(jù)。下面介紹具體實(shí)現(xiàn)方法:
1)ThinkPHP支持多種數(shù)據(jù)庫連接方式,最常用的是修改項(xiàng)目配置文件,加入數(shù)據(jù)庫相關(guān)配置項(xiàng),項(xiàng)目配置文件位于項(xiàng)目的配置文件目錄Conf下面,文件名是config.php,相關(guān)配置如下:
php
return array(
//數(shù)據(jù)庫配置信息DB_TYPE=>mysql,//數(shù)據(jù)庫類型
DB_HOST=>localhost,//數(shù)據(jù)庫地址
DB_NAME=>app_ccmanage,//項(xiàng)目數(shù)據(jù)庫的數(shù)據(jù)庫名
DB_USER=>root,//連接數(shù)據(jù)庫的用戶名
DB_PWD=>root,//連接數(shù)據(jù)庫的用戶密碼
DB_PREFIX=>cm_,//項(xiàng)目數(shù)據(jù)庫中數(shù)據(jù)表的前綴
//其它項(xiàng)目配置參數(shù)
);
2)若要取得ccmanage數(shù)據(jù)庫中cm_news數(shù)據(jù)表中“status”字段的值為1的前10條記錄,使用如下代碼:
$News=M("news");//實(shí)例化News對象
//從數(shù)據(jù)庫讀取相關(guān)數(shù)據(jù),保存到$NewsList數(shù)組中
$NewsList = $News→where(status=1)→limit(10)→select();
$this→assign(newslist,$NewsList); //根據(jù)$NewsList數(shù)組給模板變量newslist賦值
$this→display();//通過調(diào)用display方法,調(diào)用對應(yīng)的模板文件輸出相關(guān)的變量
3)根據(jù)用戶提交的信息,添加系統(tǒng)管理員:
$User = M("User"); //實(shí)例化User對象
//將用戶輸入的用戶名密碼信息保存到$data數(shù)組中
$data[username] = $_POST[username];
$data[passwordl] =$_POST[password];
$User→add($data); //調(diào)用add方法在User表中追加記錄
4)修改指定的管理員用戶密碼:
$User = M("User"); //實(shí)例化User對象
//要修改的數(shù)據(jù)對象屬性賦值
$data[passwordl] = $_POST[newpassword];
$User→where(id=.$_POST[id])→save($data); //調(diào)用save方法更新指定用戶數(shù)據(jù)
5)刪除指定的管理員用戶:
$User = M("User"); //實(shí)例化User對象
$User→where(id=. $_POST[id])→delete(); //調(diào)用delete方法刪除指定用戶數(shù)據(jù)
在實(shí)際網(wǎng)站開發(fā)時(shí)還要涉及到網(wǎng)站顯示模板的制作,模板變量的輸出等等,這里限于篇幅的限制就不在贅述。
4結(jié)束語
該文利用ThinkPHP框架在LAMP平臺上快速構(gòu)建了一個(gè)機(jī)房管理網(wǎng)站,很好地解決了當(dāng)前分散的多個(gè)機(jī)房在管理和維護(hù)中的問題,不僅方便上機(jī)用戶及時(shí)準(zhǔn)確獲取機(jī)房運(yùn)行狀態(tài),還為同學(xué)們提供一個(gè)很好的學(xué)習(xí)交流平臺。當(dāng)然該網(wǎng)站現(xiàn)在僅是為上機(jī)用戶提供了一些簡單的服務(wù),相信隨著用戶需求的不斷發(fā)展,網(wǎng)站功能將也隨之?dāng)U充,更好地服務(wù)上機(jī)用戶。
參考文獻(xiàn):
[1]王毅,張文科,程書紅.網(wǎng)絡(luò)互聯(lián)實(shí)驗(yàn)室的建設(shè)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索, 2009,8(77).
[2]車啟鳳,張有錄.新建地方本科院校教育技術(shù)學(xué)專業(yè)[J].實(shí)驗(yàn)室信息化建設(shè),2009,8(62).
[3]楊威,王云,劉景宜.網(wǎng)絡(luò)工程設(shè)計(jì)與系統(tǒng)集成[M].北京:人民郵電出版社,2005:147-162.
[4]劉志波.中國教育技術(shù)學(xué)網(wǎng)站的開發(fā)[J].電化教育研究,2003,8(61).