基于ThinkPHP框架红酒交易平台的架构设计
2017-02-23陈栋良
本文基于红酒交易平台的需求分析,比较了国内外流行的几种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-),男,江苏省宜兴市人。硕士学位。现为苏州工业园区服务外包职业学院讲师。研究方向为软件技术。
作者单位
苏州工业园区服务外包职业学院 江苏省苏州市 215123