- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于B2C电子商城开发
一.项目背景
1.项目的意义
www = why + what + how
W:why?
看看自己学的怎么样
能否灵活运用各个知识点,完成一个项目。
找到做项目的一个感觉,积累项目经验,为找工作奠定基础。
通过项目,认识自己的不足,然后更加努力。
2.项目定位
W:what?
PHP可以干什么?
Web开发,基于B/S
电子商务
CMS,内容管理系统,涵盖面比较广泛
SNS,社交网站
各种管理系统
电子商务的一些模式
B,商家 C,客户
B2C:商家对客户。凡客,小米
C2C:客户对客户, 网站方只提供平台。淘宝、拍拍
B2B2C:商家对商家对客户。京东,当当,国美,苏宁
B2B:商家对商家,批发平台。阿里巴巴
O2O:online 2 offline,线上线下,美团、糯米,大众点评,比较依赖于地图。
最多的是B2C。
我们的项目,是基于B2C模式的电子商城。
做的过程中,可以参考ecshop、京东。
W:how
二.项目规划
1.项目整体架构
从电子商务的角度来讲,电子商城通常包括 3 个方面:
商品部分
用户部分
电子商务(订单)
从开发项目的角度来看,需要完成两个方面的事情
后台的开发
前台的开发
整体架构图
商品模块,是我们商城的核心,也是整个电子商城项目中最难的一个内容。
2.时间安排
三.数据库设计
重要程度:*****
难度:*****
数据库的设计,就是体现了你对业务逻辑的理解。
数据库设计的好坏,有时候决定了项目的成败。
要点:
表与表之间的关系 (一对一、一对多[多对一],多对多[难])
每一个字段的数据类型 (数值、字符串、日期时间)没有布尔类型[使用tinyint]
如何来设计数据库?----以商品模块为例
找到核心(中心),然后一步一步的展开。
核心----商品
先来初步设计一下商品表的字段:
名称、价格、图片、颜色、上架时间、各种规格参数、详细描述,库存,品牌、分类。
这么多的属性,是存放到一张表当中的吗?
品牌和商品是两个不同的东西,设计表的一个理念:一张表表示一种信息。
冗余--更新异常、删除异常。耦合性高。
软件开发的一个理念:低耦合、高内聚。
如何来判断品牌和商品是两种不同的信息呢?
[小技巧]:看他们的生存周期-----生死时刻。
品牌:apple 1984年就有了
商品:iphone 6 2014年才有的
商品 和 它的价格,生存周期就是一致的。有了这个商品,自然就要定一个价格。
应该吧品牌单独的拿出来,用一张新的表保存。
品牌和商品有关系,是一个什么样的关系呢?
正反两个方向来看。
一个品牌 对应 n 个商品
一个商品 对应 1 个品牌
综上所述:品牌和商品之间的关系 一对多 1:n
如何体现这种一对多的关系呢?
1的一方,称之为父表,多的一方称之为子表。需要在子表中增加一个字段,和主表中的主键进行关联,子表中的这个字段就是外键。
由一张表到两张表,这个过程很重要。
商品分类信息,同样也单独的保存到一张表中。商品分类表。
商品的扩展属性
先看实际情况
三星s6
苹果6
再来看书籍的情况
Php书
Mysql书
不同类型(书、手机)的商品有不同的扩展属性。
商品的属性,对商品的描述,通常分为两种信息:
基础信息:所有的商品都具备的属性,如商品名称,价格,缩略图。
扩展信息:不同类型的商品,它的扩展信息是不同的,如服装,有材质,颜色,做工,手机则具备 屏幕尺寸,操作系统,内存大小,摄像头,书籍具备 出版社,作者,ISBN,印刷。
不同类型的商品,它有不同的扩展属性,
首先就需要把这些扩展属性保存起来。此时就有两种表,goods_type和attribute表。
要注意,attibute表存到属性本身,不是某个商品的属性。
商品和属性之间的关系。
解决多对多的问题,需要引入第三张关联表。
本项目商品模块的表设计ER图
思考:
商品分类和商品类型有何区别?
商品分类它是为商品服务,为了将商品进行分门别类的管理,
商品类型是为属性服务的,
二者的目的就不一样了。
四.编程思想
思想决定高度。
1.oop思想
OOP:Object Oriented Programming,面向对象程序设计,面向对象编程
OOP的三大特征:
封装,通过类实现的,将内部实现细节隐藏起来,给外部提供一个调用接口。
继承,通过extends来实现的,子类可以继承父类的属性和方法(protected和public)
多态,php本身就是多态的,php是弱类型的语言。在php中一般不怎么提到多态概念。
OOP的好处:
可维护性好
可扩展性好
可重用性好
灵活度好
我们的项目也是采用OOP的,所以就有很多类和方法。
2.mvc模式
Mvc思想(重点)
面试题。
如何理解mvc?
M:model,模型,负责完成具体的业
文档评论(0)