欢迎来到天天文库
浏览记录
ID:31359364
大小:111.00 KB
页数:7页
时间:2019-01-09
《基于php+smarty的订餐网站设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于PHP+Smarty的订餐网站设计与实现 摘要:通过对订餐网站的需求分析,给出了网站系统功能结构图,明确了系统开发中要采用模块化的设计思想。网站选用B/S工作模式,用PHP+Apache+MYSQL+Smarty+PDO来开发系统。该文主要介绍了数据库的设计、公共配置文件的设计和购物车模块的关键代码。 关键词:PHP;Smarty;模板 中图分类号:TP311文献标识码:A文章编号:1009-3044(2016)19-0058-02 随着互联网的发展,人们在日常生活中通过网络购物已经非常普及,
2、小到服装,大到汽车、房子都可以通过互联网来便捷购买。随着互联网网速的不断升级,“互联网+”深深扎根于旅行、住宿、电影等生活服务类行业,一台电脑、一部智能手机就能代劳所有事情。2016年3月17日,上海市浦东新区市场监督管理局正式向盒马外卖颁发全国第一张“专业网络订餐许可证”,这意味着网上外卖正式进入“许可证”时代。网络订餐是一个全新的业态,明确了它的餐饮服务经营范围只能在互联网领域。 1系统的功能分析7 一个完整的网络订餐系统,除了要能够展示卖家提供的所有商品以外,还需要根据商家的需求,能重点展示商家
3、推荐的商品、套餐、最新商品、最近开展的促销活动等功能;同时还要能够满足用户分门别类的查询各类商品、反馈意见给商家等个性化的需求。系统分为前台页面与后台管理两部分,前台页面主要是为点餐者服务,后台主要为餐厅经营者服务。基于以上的调查分析,确立了本网站前台所需要满足的功能。网站前台的整体功能结构如图1所示: 2系统设计 本系统采用B/S工作模式,选择了PHP+Apache+MySQL来开发。以Windows7为开发平台,以Apache为Web服务器,以MySQL为后台数据库。同时使用Smarty模板以及P
4、DO数据库连接层来搭建MVC结构。系统界面使用Dreamweaver设计,采用DIV+CSS进行布局,让网站的表现和结构分离,使用这种方式能在团队开发中更容易分工合作而减少相互关联性。 Smarty是一个用PHP写出的模板引擎,它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。,使程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显得尤为重要。PDO是PHP5.1以上版本附带的
5、数据库连接层,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力;与ADODB和MDB2相比,PDO更高效。 2.1系统数据库设计 本网站根据需求,设计出能够满足用户需求的各种实体以及他们之间的关系。其中,实体包括:用户、商品、订单等。通过对网上订餐系统的内容和数据流程分析,设计的数据项和数据结构如下: 用户信息。包括的数据项有用户姓名、用户密码、用户手机号、用户地址、订购等。7 商品信息。包括的数据项有商品名称、商品编号、商品类型、商品价格
6、、商品折扣、商品库存、商品上架时间等。 留言信息。包括的数据项有用户编号、留言标题、留言内容、留言时间等。 活动信息。包括的数据项有活动名称、活动时间、活动内容、活动图片等。 订单信息。包括的数据项有用户编号、商品数量、添加时间、商品价格等。 根据以上的数据结构和数据项建立数据库。 2.2数据库连接、管理类文件和Smarty模板配置类文件的设计 1)选择安装Smarty的目录。从安全性考虑,可以将Smarty安装在web程序文档目录以外的地方,再将Smarty安装目录地址包含在PHP.INI文
7、件中的include_path选项即可。 同时,在\system目录下,创建templates、templates_c、configs、cache目录,用来放置模板文件、缓存文件等相关文件。 2)在system目录下,建立system.class.inc文件、system.inc文件和system.smarty.inc文件。其中system.smarty.inc.php文件用来定义smarty模板类,指定各种文件的存储位置;system.inc.php文件用来进行数据库连接、类的实例化;system.
8、class.inc.php文件用来定义数据库连接类和数据库管理类。其中,system.inc.php的部分关键代码如下: require("./system/system.smarty.inc.php");//包含Smarty配置类7 require("./system/system.class.inc.php");//包含数据库连接和操作类 $connobj=newConnDB("mysql","localhost",
此文档下载收益归作者所有