呂良 蘇鋒
海軍航空大學青島校區(qū),中國·山東 青島 266041
在目前“互聯網+”的信息化背景下,智能化應用已經滲透到生活中的每一個領域。根據人們生活快節(jié)奏的特點,構建提高人們生活質量有效節(jié)約時間的智能場地預約管理系統(tǒng)迫在眉睫。論文主要基于B/S 結構模式,運用WMAP開發(fā)架構,結合Dreamweaver、Fireworks 等開發(fā)工具,設計并實現了一套基于PHP 的智能場地預約管理系統(tǒng)。系統(tǒng)的運行不僅提高了場地的使用效率,使場地管理更加信息化、智能化,同時為人們提供了更加便捷的生活、工作平臺,對專業(yè)建設和人才培養(yǎng)具有一定的實踐意義和應用價值。
軟件采用B/S 結構,前后端分離的方式開發(fā)實現,前端在這里主要實現人機交互,實現會議查詢、會議預約界面顯示、按鈕交互的功能,后端更多是與數據庫進行交互以處理相應的業(yè)務邏輯。需要考慮的是如何實現功能、數據的存取、平臺的穩(wěn)定性與性能等。
本系統(tǒng)前端瀏覽器界面采用HTML、CSS、JavaScript經典的前端三劍客編程語言來實現的,后端數據交互主語言采用的是PHP,數據庫采用的是MySQL 關系型數據庫管理系統(tǒng)。
這里重點說一下本系統(tǒng)基于PHP 程序工作的總體流程。PHP 的運行原理就是Apache(Web 服務器)、PHP、瀏覽器三者之間的協作過程:
①當用戶在瀏覽器地址中輸入要訪問的PHP頁面文件名,然后回車就會觸發(fā)這個PHP 請求,并將請求傳送化支持PHP 的Web 服務器[1]。
②Web 服務器接受這個請求,并根據其后綴進行判斷如果是一個PHP 請求,Web 服務器從硬盤或內存中取出用戶要訪問的PHP 應用程序,并將其發(fā)送給PHP 引擎程序。
③PHP 引擎程序將會對Web 服務器傳送過來的文件從頭到尾進行掃描并根據命令從后臺讀取,處理數據,并動態(tài)地生成相應的HTML頁面。
④PHP 引擎將生成HTML頁面返回給Web 服務器。Web 服務器再將HTML頁面返回給客戶端瀏覽器,最后一個完整的頁面基于通過瀏覽器展現在我們眼前。
數據庫采MySQL 數據庫,分為三個表,分別為用戶表、預約表、內容表。用戶表主要用來存儲管理員賬號密碼信息,預約表用于存放用戶提交的預約信息,是一個臨時表。內容表存放管理員審核過后的預約信息。核心技術到一個MySQL view 虛擬表視圖,是一個虛擬邏輯表,本身并不包含數據,視圖中的字段數據就是來自一個或多個數據庫中的真實的表中的字段,其優(yōu)點是可以快速訪問兩表或多表連接所組成的數據。有時要訪問表間連接所組成的數據集,可以把查詢出來的數據集定義成視圖,可以幫助快速訪問所需的數據[2]。語法格式為CREATE VIEW <視圖名> AS
本次開發(fā)沒有采用前端框架開發(fā),只是采用原生的HTML、CSS、JavaScript 語言開發(fā),因此在開發(fā)時要考慮瀏覽器的兼容性,由于IE 瀏覽器早期版本存在兼容性問題,因此在這里采用谷歌瀏覽器或者火狐瀏覽器進行開發(fā)。
前端分為用戶管理模塊和功能模塊兩部分,用戶管理模塊實現用戶權限的管理,功能模塊實現預約查詢功能。
4.1.1 預約部分
預約表單主要展示用戶需要預約填寫的基本信息,預約日期、預約場地以及預約具體時間需要在用戶提交的表單的時候進行前端的判斷,這里需要自定義設計一個提交判斷函數,通過PHP 后端查詢數據庫里已預約的場地及日期時間通過JSON 數據格式取到前端,我們在此定義為JsonStr,然后在制定觸發(fā)判斷條件,只有當用戶提交的預約場地和JsonStr 中場地數據相同時,才進行場地預約日期和具體時間的判斷,預約場地不同不需要進行后續(xù)判斷,判斷時邏輯步驟:判斷預約日期和JsonStr 中日期是否有沖突,如果相同,則進一步判斷具體開始結束時間,預約開始時間應當小于JsonStr 中相同場地相同日期的開始時間或者大于等于結束時間,預約結束時間應該小于等于JsonStr 中開始時間或者大于結束時間[3]。判斷函數在提交時觸發(fā),保證預約的場地日期具體時間是唯一的。此外,為增強軟件使用友好性,加入表單信息輸入提示及判斷主要信息是否輸入功能。
4.1.2 查詢部分
查詢表單主要是方便用戶在預約使用之前進行相關場地使用情況的查詢,以便找到合適的場地及預約時間,PHP連接數據庫將查詢當日之后的預約相關數據通過JSON 格式傳到前端,按表單設計展示在查詢界面中,這里增加了按條件查詢功能,設計查詢函數,主體為通過PHP 執(zhí)行SQL 語句來實現where 不同條件的查詢,函數設置載入查詢條件接口的形參,將查詢條件構造成數組,然后通過循環(huán)遍歷將數組條件作為實參載入函數進行不同情況的查詢。
用戶管理模塊主要是實現預約軟件管理端功能的,前臺用戶提交的數據被存入數據庫臨時預約表中,管理者在這個模塊中可以實現對預約的審核通過,管理預約的增刪查改,實現功能權限[4]。用戶管理模塊還可以實現文件的上傳功能,主要通過PHP 內置函數move_uploaded_file 來實現。
后端主要負責數據的處理,前端與數據庫的交互[5]。本設計主要依靠PHP 語言進行前后端交互、數據處理,用戶界面提交的預約數據通過PHP 解析處理,然后PHP 訪問MySQL 數據庫,將預約數據存儲到數據庫臨時預約表中,設計審核函數,主要作用為管理員審核通過后,PHP 操作數據庫將臨時預約表中的內容添加到日程表中并將此內容從預約表中刪除,前端查詢部分展示是通過PHP 從數據庫中獲取相應的數據,采用JSON 格式發(fā)送給前端界面。
該預約軟件采用模塊化設計,以PHP 作為核心開發(fā)語言,將軟件的實現分解為前端和后端兩部分,JSON 作為數據交互橋梁,提高了軟件開發(fā)的伸縮性和擴展性。