基于PHP的MyStyle商城系统的设计与实现.doc
《基于PHP的MyStyle商城系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于PHP的MyStyle商城系统的设计与实现.doc(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录1.绪言11.1 项目设计的背景11.2 设计目的与意义11.2.1 设计目的11.2.2 设计意义12.系统的相关技术介绍22.1 相关技术介绍22.1.1 ThinkPHP框架介绍22.1.2 Apache服务器22.1.3 PHP技术32.1.4 MySQL数据库33.系统功能的实现43.1 网上商城系统流程图43.1.1 前台业务流程图43.1.2 后台管理业务流程图53.2 商城前台的设计63.2.1 MVC模式用例63.2.2 用户登录注册模块83.2.3 购物车模块123.2.4 在线支付接口的实现163.3 商城管理后台设计223.3.1 后台商品管理模块223.3.2 后
2、台管理员管理模块253.3.3 商品交易管理模块273.4 主要功能模块的业务流程293.4.1 商城购物流程293.4.2 数据流图303.4.3 数据字典323.4.4 数据库概念结构设计344.系统的测试与分析394.1 测试的策略394.2 测试目标404.3 测试需求分析404.4 测试结果414.4.1 用户模块测试414.4.2 购物车模块测试424.4.3 订单管理测试435结语与展望455.1总结455.2 展望45参考文献46致 谢47广东东软学院本科生毕业设计(论文)1. 绪言1.1 项目设计的背景网上商城是指类似于现实生活中的百货超市,二者的最大区别是,网上商城是在互联
3、网线上进行购物的一种电子商务形式,在万维网中实现从买到卖这一交易效果。如今的网上购物是群众们非常时尚的购物方式,而广大商家们也非常重视电子商务的营销作用,都纷纷顺势利用互联网的低成本来对其商品进行营销。为便捷当代人们的购物形式,提升广大商家们的营销效率以及顺应商业模式的发展,本人特意创建了一款能解决以上问题的互联网商城系统。1.2 设计目的与意义1.2.1 设计目的设计该系统目的是为了方便商家进行电子商务,商家和消费者在网上进行买卖产品。减少商品买卖过程的两头环节,消弭其中的代理间的差价以及运输资金费用,促成对普通消费与加强市场之间的流通所带来的广大发展空间。1.2.2 设计意义创建一个网上商
4、城,既可减少消费群众在购买商品过程中由于繁琐的程序所耗费掉的时间,使消费者购物更顺心便捷,又能有效地够减轻商家们实现销售商品时为店铺租金付出成本压力,降低商家们的商业运作本钱。由本商城系统的设计精确地瞄准了以上现象的所在,力求跟上现代流行的购物方式以及解决商家们的痛点,为商家们的商品进行线上推广与销售,旨在实现商品在互联网上的销售及展示,同时,购物者能在线上实现购买商家的商品,实现在线交易支付等功能。使用B2C这一创新型的商业运作模式,足以体现电子商务可以减少以往商业营业的资金、提高商品买卖过程中的服务质量、并且能及时发布店铺最新布告的优点。这样一套商城网站系统能够具体化、合理化地管理营销情况
5、,用结构化的思维方式去认识计算机的工作原理。2.系统的相关技术介绍2.1 相关技术介绍2.1.1 ThinkPHP框架介绍PHP技术中最为流行的一款Web框架非ThinkPHP莫属,该框架作为一款轻量级的Web开发框架,其不但免费,而且具备疾速开源的、并拥有面向对象等特性,其创始于2006年初,该框架从诞生以来就一直保持至简与实用的设计理念,在注重其易用性的基础上,也维持打造其强大的性能和简洁的代码。同时,TP(ThinkPHP的简写)框架具有众多的原始开发功能与独特的性能,得益在社区团队的不断改进优化,该框架在易用性、灵活性以及其他方面的性能都在不断完善中。经过多年的发展与改进,TP框架已经
6、发展为国内中最具有影响力的Web(万维网)应用开发框架,并有众多典型的实际案例确保能够适用于门户级别以及商业中的web开发。该框架通过近年来的不停完善更新,而且模拟了国外许多十分出色的web应用框架与设计模式,运用面向对象的开发模式结构加上 MVC (Model View Controller)模式,RoR中的ORM(对象关系)映射与ActiveRecord(活动记录)设计模式,并交融了Struts框架中的Action思想、封装了CURD(数据库技术中的缩写)以及一些相对常用操作,也包含单一入口模式等,在认证机制、模板引擎以及拓展性等方面都有着其特有的表现。使用TP框架,能够使开发与部署应用程
7、序都变得十分快捷。其简单性、兼容性以及便捷等特性能使任何的PHP应用开发都从中受益。TP框架的发展一直延续着实用、快捷以及简洁这一宗旨,所以TP框架不断吸取以及融合更完善的技术以确保其活力,不断为Web应用开发提供着最佳的实践体验。2.1.2 Apache服务器Apache服务器是一款为用户免费提供的开源软件。在Web服务器软件行列中,Apache被使用得最普遍。它占据了寰球上一切网络服务器总量的 67.6。具备可靠、快捷、安全等特性。它可以经过应用扩展以及模块来进行高度精准的定制,确保以满足多数不一样的系统环境的要求。大部分 WordPress(PHP语言开发的博客平台)托管服务提供商均已使
8、用了 Apache 作为其本身的 Web 服务器软件。Apache服务器的基本目标是创建一款可以托管单个以上基于http协议的网站服务器。需要了解的功能包含支持数据库,身份验证机制以及支持多种编程语言。能够通过操纵其代码库以及添加多个扩展等形式来加强Apache服务器的性能。同时,其被多数Web托管公司用于作为虚拟主机以及提供共享等范围。Apache作为一款自由软件,由此用户们在使用它的过程中就会不断为其开发出新的功能与特性、不断修复软件中存在的bug,使该服务器不断发展变得更加完善。Apache服务器的最大特性是速度快、操作方式简单、性能非常稳定,并且能够作为代理服务器来利用。2.1.3 P
9、HP技术PHP(超文本预处理器)是一种服务器端脚本语言,其具有快捷性、执行效率高、开源性以及跨平台性等特征。因其吸取了Java以及Perl等编程语言的语法特性,相对于初学者来说非常易于学习,且该语言在编程中被使用得特别广泛,PHP主要运用在Web开发领域中,其相对于CGI以及Perl来说能够更疾速地执行动态网页。作为一款跨平台的语言代码,其几乎能够在所有操作系统中运行,其既能够被编译成一个CGI的二进制文件,或一个Apache模块。PHP被编译成为Apache模块的时候尤为方便。因其大致上没任何的繁琐程序所带来的负担,因而能够很疾速地得到结果。当PHP与MySQL数据库相结合时,非常适用于中小
10、型应用项目的开发,所以PHP越来越受开发人员的偏爱,并且一直被广泛应用到Web以及移动端的开发当中。2.1.4 MySQL数据库MySQL是一款非常经典的关系型数据库,使用MySQL数据库的基本上以互联网公司为主,其是被现今社会使用得最为广泛的一款数据库。MySQL的整体性能特别健壮,其带有的多线程多用户特性是其成为一款最炙手可热的数据库的一个很重要因素。与此同时,它并不是把数据统统放在一个杂乱的数据大仓库中。而是把数据库里面的数据分别储存在不相同的表中,这但提升了数据库的读写性能,而且使数据库存储结构变得更加规范。因为其查询速度快、存储更规范、使用的成本不高、重点在开源这一特征上,这都促使非
11、常多的中小型企业开发网站或者应用时都首选了MySQL。其作为一款后台数据库工具,其实它远比Fox/Access二者的性能更加强大。除此之外,MySQL数据库提供了非常多的关系型数据库管理功能,这些管理功能能够适应各种硬件平台,当中包含Unix以及主机系统。基于MySQL的优越的综合性能,由此选择其作为本系统的数据库。3.系统功能的实现3.1 网上商城系统流程图3.1.1 前台业务流程图商城前台的主要功能是为访问的普通用户给予登录注册、商品信息展示、添加商品到购物车以及商品收货的具体信息,并且确定提交最终订单等一系列功能。该商城的前台业务流程如图3-1所示。图3-1 前台业务流程3.1.2 后台
12、管理业务流程图商城后台的所有业务流程均由系统管理员来进行操控,先由系统管理员输入用户名以及密码,检查验证用户名或密码是否合法,验证通过之后就可以对商城中的用户、订单、商品等数据信息来实行管理以及维护。该商城的后台管理系统的整体业务流程如图3-2所示。图3-2 后台管理业务流程3.2 商城前台的设计3.2.1 MVC模式用例该商城系统使用了ThinkPHP框架中的MVC(模型-视图-控制器)模型来进行总的设计,这能够最大化让业务逻辑层与视图层进行解耦分离,这有利于系统日后的维护,并且很大程度上削减了模块的代码数量。商城网站首页如图3-3所示。 图3-3 商城系统网站首页以上首页页面的URL默认地
13、址是 , 是由thinkPHP框架路由来处理,分组为home,默认的控制器是IndexAction,默认动作是index,该页面的控制器代码如下:3.2.2 用户登录注册模块该商城系统的用户分为游客以及会员两种类型。游客是指尚未登录的前提下而在商城中进行浏览的一类用户。本站用户在注册是需要输入自己的用户名,设置用户密码、手机号码等信息,在注册页面中设置了判断用户输入的内容格式是否正确、输入是否为空、输入用户名或者手机号码是否已存在等判别功能。用户注册界面以及登录界面如图3-4、图3-5所示。 图3-4 用户注册界面图3-5 用户登录界面实现注册页面的部分逻辑代码如下: 用户在注册过程中,系统会
14、判断用户名或者手机号码是否已被注册过,关键代码如下:在信息验证这一功能上,我在众多第三方短信服务商中选择了云网络。本系统的短信验证流程是先点击“发送验证码”按钮,随后系统就会触发一个Ajax请求响应事件,把手机号码发送到短信平台上,随之在后台上就会生成一个验证码,并会将其发送到移动终端上,然后返回一个验证码到手机终端验证前台进行。关键代码如下:3.2.3 购物车模块购物车模块是构成商城网站不可或缺的一部分。购物车的功能模块主要是存储用户在购物时所选择的商品信息,能够在购物车中修改所需商品的数量,勾选上购物车中所选择的商品,然而购物车就可以算出所选商品的订单的总金额,同时也能够清空购物车或者选择
15、性的清除购物车中的商品,重新把想要购买的商品添到个人购物车中。用户只要在商品详情页中挑选所需购置的商品数量,点击“加入购物车”按钮,即可把想要购买的商品详细信息添加至购物车页面,如图3-6所示。点击“购物车”按钮,用户就能够看到自己所选择的商品及数量,在勾选上想要购买的商品,就会算出订单的总金额,商城购物车页面如图3-7所示。 图3-6 商品详情页图3-7 购物车页面(1)商城的购物流程用户可进入商城网站对商品进行预览,也能够使用商城网站的搜索功能找寻心仪的物品,决定好想要购买的商品及其数量,在用户已进行登录的前提中,可把选择的商品添加到购物车或者直接购买该商品,完善收货信息,完成最终订单,购
16、物的整体流程如下: 用户进入商城网站,可浏览网站推荐的商品,也可以通过搜索框或者商品分类来挑选商品;用户挑选完心仪的商品并选择好商品数量,即可把该商品的详细信息添加到购物车中;用户提交订单的请求之后,系统会检测该用户是否已经登录,如果还没在系统中登录就跳转到,若该用户已登录则需要确认用户信息,跳转到;用户登录页面,再次回到商品购物车的页面,跳转回;用户确认好订单信息之后,系统会自动完成订单的详细信息,并刷新订单表;待数据库成功更新之后,系统会返回用户订单成功的信息。商城网站购物流程如图3-8所示。图3-8 商城网站购物流程(2)商城购物流程的实现在开发该网站的过程中,商品购物车占据了大部分的开
17、发时间,毕竟它是作为网站商城的重点以及难点。当用户添加好商品到购物车,达成最终订单并提交,同时用户也可以选择性地删除购物车中的商品以及更改商品数量等操作。商品购物车的全部功能都是由CartController控制器来实现,添加商品时分为两个情况,一个是用户已经登录,一个是用户还未登录。如果用户是已经在登录的前提下,添加的商品信息会放到购物车表中。未登录的时候,因为使用了cookie来存储了用户数据,即便用户使用商城网站过程中关闭了浏览器,网站购物车里面的商品信息还仍然存在。购物车中的商品分为多规格以及无多规格,多规格商品就会用它的商品id和规格id拼接起来作为其键名,然后存进cookie(必须
18、序列化),设置时间为7天,同时也要判断cookie购物车中是否已经存在了这个键名,一旦存在此键名就直接添加数量,不存在就添加一个新的下标,即购物车商品数据。部分重要代码如下显示:3.2.4 在线支付接口的实现国内的商城网站,线上付款方式大致可以分成收款发货、担保交易巴支付宝,还有货到付款等方式。在线支付是实现网上购物的一项重要分支,它给予企业与个人一个安全与便捷的电子商务环境,在线支付真正做到了可以让用户足不出户也能够在网上购物,同时丰富了大众的消费支付方式,使支付方式变得多元化,提高了社会资金的流动速度。在线支付的手段通常能够分为:商城网站和银行提供的支付接口达成支付渠道,通过第三方支付平台
19、提供支付接口来实现交易支付这一功能。由于第三方支付平台所提供的支付接口在开发过程中工作量比较少,即便是银行在对其网上支付系统进行升级,在第三方支付平台的支付接口接入规范不变得的前提下,就无须更改商城中支付模块的代码,这很大程度上减轻了系统日后维护的工作量。与此同时,出于在线支付具备相对安全、交易成本低以及便捷的特点,愈来愈多的商城网站或者需要网上在线支付的平台网站均利用第三方支付来达到交易支付的目的。当前国内主要的第三方支付平台有支付宝、微信支付、银联商务、银联在线以及京东支付等。支付宝是当今最流行的电子支付方式之一,其由阿里巴巴集团所创立,直至2019年1月,支付宝官宣全球注册使用人员已达到
20、10亿人次,其在移动支付、电商支付等众多领域都占有重要的位置。淘宝商城买家最常用的付款方式:先把付款金额存放入支付宝作为担保资金并通知卖家进行发货,当买家确认好收获之后,支付宝中存放的交易资金就会转进到卖家的支付宝账户中,最终完成交易。交易的流程大致是:“买家使用支付宝付款”“卖家收到订单通知发货”“买家收货并确认收货”“卖家最终确认收付款”。支付宝其执行的流程大致如图3-9所示,支付执行流程用例图如3-10所示。 图3-9 支付宝第三方支付平台执行流程 图3-10 支付流程用例如上图所示,用户在商城网站中下单并付款之后,商城系统会依照手机网站支付接口alipay.trade.wap.pay
21、API的参数规范生成相应的订单数据,随后就在前端页面中应用Form表单来请求支付宝。接着支付宝就会自动把页面跳转到支付宝H5的收银台页面上,若是用户的手机上已经安装好了支付宝移动端应用,则该页面就会自动唤起支付宝APP。在使用支付宝第三方应用开发支付功能时,开发者须要关注的是两种状况,一种是用户已安装好了支付宝,另一种状况是未安装,在手机浏览器中唤起H5页面的模式下,若是用户已经安装了支付宝应用的前提下却没被唤起,最有可能是因为用户当前使用的浏览器在支付宝的白名单以外。 本商城网站是使用支付宝第三方支付来测试支付功能,借用了一个支付商户号来调试。关键步骤是,下载PHP版本的SDK,并将SDK文
22、件夹重命名为alipay并放到TP框架中的Vendor文件夹下,打开“shortcut.php”文件 ,由于C函数与TP框架中的C函数重复,所以把C函数更变为CC,调用接口用Vendor(alipay.Aopsdk)。其中Alipay.php.class中关键的支付宝配置参数如下:$parameter = array(service = $alipay_configservice,partner = $alipay_configpartner,seller_id = $alipay_configseller_id,payment_type= $alipay_configpayment_type
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PHP MyStyle 商城 系统 设计 实现
限制150内