购物车

作者: Songzh | 来源:发表于2017-04-13 22:28 被阅读0次

    前言

    购物车这一部分的内容非常重要。涉及了很多知识点。

    涉及到的知识点

    • cookie
    • session
    • php字符串处理
    • laravel中间件

    这里我们只大致说一下,具体代码分析请自行去github下载
    下载链接https://github.com/songzh96/Provence.git

    知识点分析

    Cookie是什么?

    Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

    Laravel中的cookie

    Laravel会加密所有已创建的cookie信息,并附加上授权码,当客户端擅自修改cookie信息时,该cookie将被废弃,从而保证安全性。
    我们这里主要使用的cookie是存放购物车商品列表信息,
    通过Request实例上的cookie方法获取cookie数据,
    该方法可以接收一个参数名返回对应的cookie值,如果不传入参数,默认返回所有cookie值
    这里我们就是通过这个方法来获取购物车中的信息。

    存入cookie.png 得到Cookie.png

    Session是什么?

    Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

    在 Laravel 中主要有两种方式处理 Session 数据:全局的辅助函数 session,或者通过 Request 实例。
    这里我们使用的是通过Request实例。

    存入session.png 获取session.png

    PHP字符串处理

    Laravel中间件

    简介
    HTTP 中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel内置了一个中间件来验证用户是否经过认证,如果用户没有经过认证,中间件会将用户重定向到登录页面,否则如果用户经过认证,中间件就会允许请求继续往前进入下一步操作。
    当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可以记录所有进入站点的请求。

    本案例的使用
    • 创建中间件
      在Http\MiddleWare\下创建php文件
    创建中间件.png
    • 注册中间件
      在Http\Kernel.php下进行修改
    Paste_Image.png
    • 注册中间件路由
      在Http\routes.php下进行修改
    Paste_Image.png

    功能介绍
    购物车中商品的添加和删除
    同步购物车

    功能分析
    购物车中商品的添加和删除

    首先在前端注册个点击事件(添加),当用户点击后就通过ajax传值到后端,
    后端首先要判断用户是否已登录,
    如果登录就和数据库同步处理,
    若未登录将产品先从cookie中取数据然后进行字符串处理,
    如果是cookie中已有的产品那么就+1,
    如果不是就需要将新产品存放到数组中,最后再将cookie更新一下
    删除逻辑大致差不多。

    同步购物车

    • 首先需要在购物车的数据表中查找用户,然后就能找到用户的购物车中所对应的所有商品。
      找到之后判断本地购物车中的商品是否和数据库中的一致
      若不一致则需要将本地新添加的商品存储到数据表中
      最后为每个对象附加产品对象便于显示

    相关文章

      网友评论

          本文标题:购物车

          本文链接:https://www.haomeiwen.com/subject/egliattx.html