深入PHP购物车模块功能分析(函数讲解,附源码)
发布时间:2020-05-24 14:15:15 所属栏目:PHP 来源:互联网
导读:本篇文章是对PHP购物车模块功能进行了详细的分析介绍,需要的朋友参考下
购物车是为消费者在网上购物中提供一个临时存储商品的地方。其主要功能包括:添加商品、删除商品、更改商品数量、商品金额小计、商品金额总计和清空购物车;还包括生成订单、订单打印、订单预览、提交订单和取消购物等。 购物车的操作流程:首先,登录到网站中浏览商品;然后,购买指定的商品,进入购物车页面中,在该页面可以实现更改商品数量、删除商品、清空购物车、继续购物等;最后,填写收货人信息,生成订单,订单打印、预览,提交订单等操作。 1,Smarty模块的安装配置smarty是一个使用PHP写出来的PHP模板引擎,它将一个应用程序分成两部分实现:视图和逻辑控制。即将UI和PHP代码分离。PHP没有内置Smarty模板类,需要单独下载和配置,而且Smarty要求服务器上PHP版本最低为4.0.6。PHP Smarty可以在http://www.smarty.net/download下载。将压缩包解压,其中有一个libs目录,包含Smarty类库的所有核心文件。包括smarty.class.php、smarty_Compiler.class.php、config_File.class.php和debug.tpl 4个文件,还有internals和plug-ins两个目录。复制libs目录到服务器根目录下,并重命名。这里将libs目录重新命名为smarty。到此Smarty模板安装完毕。 2,Smarty模板的配置(1)首先确定Smarty目录的位置。因为Smarty类库是通用的,每一个项目基本都会使用,为了调用方便,习惯将smarty放置在根目录下。(2)新建4个目录templates、templates_c、configs和cache,用于存储不同的文件。新建的4个目录位置是可以选择的,只要配置文件路径设置正确就可以了。(3)创建配置文件。只要应用Smarty模板,那么就一定要包含Smarty类库和相关信息。每个页面都写一遍配置是不现实的,最好的方法就是将这些配置信息都写到一个文件中,通过include来调用配置文件。配置文件创建完成后保存在根目录下。本模块配置文件config.php代码如下:代码如下:/* 定义服务器的绝对路径 */ define('BASE_PATH','E:PHPservices'); /* 定义Smarty目录的绝地你路径 */ define('SMARTY_PATH','SourceCode12 1'); /* 加载Smarty类库文件 */ require BASE_PATH.SMARTY_PATH.'smartySmarty.class.php'; /* 实例化一个Smarty对象 */ $smarty = new Smarty; /* 定义各个目录的路径 */ $smarty->template_dir = BASE_PATH.SMARTY_PATH.'./'; $smarty->compile_dir = BASE_PATH.SMARTY_PATH.'templates_c/'; $smarty->config_dir = BASE_PATH.SMARTY_PATH.'configs/'; $smarty->cache_dir = BASE_PATH.SMARTY_PATH.'cache/'; /* 定义定界符 */ $smarty->left_delimiter = '<{'; $smarty->right_delimiter = '}>'; /* 使用Smarty赋值方法将一对儿名称/方法发送到模板中 */ ?> 3,smarty模板动静分离smarty模板最大的特点就是实现应用程序的动静分离,即将UI和PHP代码分离。下面介绍Smarty模板在实现动静分离的过程中常用的技术。(1)在UI中获取PHP代码中模板变量的值首先要确定Smarty模板的界定符,这里使用的是'<{'和'}>'。另外还应用到一些Smarty的内建函数section、php、if、elseif、else等。a)section函数用于遍历数组中的数据。每个{section}标签必须与闭合标签{/section}成对出现,参数name和loop为必选项。 名称name是包含字母、数字和下划线的任意组合,可以嵌套但必须保证嵌套的name唯一。 变量loop(通常是数组)决定循环执行的次数,例如需要在section循环内输出变量时,必须在变量后加上中括号,中括号内包含name变量。 例如: 代码如下:<{section name=data loop=$myrow }> | ||||