
本文基于紅酒交易平臺的需求分析,比較了國內外流行的幾種MVC框架,選擇ThinkPHP框架進行架構設計,通過共用控制器和模型、采用多視圖的方式支持多終端設備,提高了開發效率、縮短開發工期并節約開發成本,具有普遍的應用價值。
【關鍵詞】PHP ThinkPHP MVC 電子商務 架構設計
1 紅酒交易平臺的需求分析
紅酒交易平臺是銷售酒類、培訓、器皿、酒窖定制服務的電子商務平臺,支持PC端瀏覽器、手機端瀏覽器、微信端以及Android端和iOS端。
本文從功能性需求和非功能性需求兩個方面進行需求分析。
1.1 功能性需求分析
本平臺有三個主要功能和一個主要流程:品類管理、促銷管理、訂單管理和購物流程。
1.1.1 品類管理
主要是管理商品的分類和商品管理。
1.1.2 促銷管理
支持各種促銷手段:滿額贈送、限時搶購、買N送N、特價促銷等。
1.1.3 訂單管理
平臺收到訂單后,如果是已經支付的訂單或者是貨到付款的訂單,備貨后輸入物流單號和物流公司發貨。用戶如果退貨,平臺允許退貨并收到用戶退貨后,退款給該用戶。
1.1.4 購物流程
用戶瀏覽商品并加入購物車,如果該商品符合促銷條件,自動在購物車放入贈品,用戶確認訂單并支付,等待平臺發貨,用戶收到貨物后確認到貨并評價。
1.2 非功能性需求分析
1.2.1 安全要求
對于需要登錄后才能訪問的頁面要禁止非法訪問等。
1.2.2 性能要求
網絡正常的情況下,大于2MB/秒,1000人以下并發訪問頁面打開時間最多不超過5秒。
2 紅酒交易平臺MVC框架的選擇
通過技術平臺選型,考察ASP.NET MVC、Struts2、Spring MVC、ThinkPHP、Laravel等多個MVC框架后,結合技術團隊能力、國內流行程度等因素,將ASP.NET MVC、Struts2、ThinkPHP作為備選技術方案。ThinkPHP中的MVC提供了一種敏捷開發的手段,使得開發者能夠迅速地開發出穩定的企業級網站。ThinkPHP在中小型應用中,學習成本最低、開發效率最高,所以在國內PHP MVC框架應用中占據了將近50%的市場份額。本平臺是一個中等規模的網站,根據前述非功能性需求分析得出,并發訪問量要求不高,且用戶預算低、開發周期短,所以決定平臺采用ThinkPHP框架。
3 紅酒交易平臺的架構設計
3.1 平臺架構的設計
為了進一步壓縮成本,縮短開發時間,從架構設計上既要滿足前述用戶需求,又要減少開發工作量。因此平臺通過共用控制器和模型,采用多視圖的方法滿足用戶PC端、手機端、微信端瀏覽本平臺的需求,由于Anroid端和iOS端采用Hybrid APP混合框架,內嵌了瀏覽器,所以本架構也能給予很好的支持。前端則采用Bootstrap框架進行快速頁面布局和前端編程。Bootstrap是最受歡迎的 HTML、CSS 和 JS 框架,用于開發響應式布局、移動設備優先的 WEB 項目。根據需求分析,本平臺部分技術架構設計如圖1所示。
限于篇幅,本架構主要展示了平臺Home前臺的架構設計,前臺Home和后臺Admin共用CommonModel,前臺PC端View和移動端MobileView共用了前臺Controller,從而減少了開發冗余,提高了代碼復用率。
3.2 前臺控制器基類的實現
FrontController是前臺控制器的基類,只有一個方法_initialize,繼承該基類的前臺控制器都會執行該方法。_initialize方法通過ismobile函數判斷,如果是手機端或者微信端瀏覽,則通過C(‘DEFAULT_V_LAYER,MobileView)函數將默認視圖層從View目錄改成MobileView目錄,從而改成適合手機瀏覽的網頁,而控制器類和模型類無需修改。用戶沒有登錄,即判斷$_SESSION[‘USER]為空,如果用戶訪問了需要登錄才能訪問的控制器方法,使用$this->redirect方法將鏈接重定向登錄方法,強制用戶登錄。
4 結束語
MVC輕量級ThinkPHP框架,基于面向對象的思想,結合使用了Ajax技術,使整個系統功能清晰明了。本平臺選擇ThinkPHP框架進行架構設計,采用多個視圖共用一個控制器方法的方式支持多終端設備瀏覽器以及Hybrid APP混合框架里的內嵌瀏覽器,滿足了紅酒交易平臺的功能性需求和非功能性需求,提高了開發效率、縮短開發工期并節約開發成本,具有較好的技術推廣價值。
參考文獻
[1]徐誠斌,王金平.MVC在ThinkPHP框架中的應用研究[J].信息與電腦:理論版,2011(03):160-160.
[2]Bootstrap中文網.Bootstrap中文文檔[EB/OL].http://v3.bootcss.com/, 2014-10-31/2016-12-7.
[3]許燕.基于ThinkPHP框架的校園交易平臺的設計與實現[J].信息技術與信息化,2016(07):34-37.
作者簡介
陳棟良(1975-),男,江蘇省宜興市人。碩士學位?,F為蘇州工業園區服務外包職業學院講師。研究方向為軟件技術。
作者單位
蘇州工業園區服務外包職業學院 江蘇省蘇州市 215123