2019独角兽企业重金招聘Python工程师标准>>>

一、cookie

protected $_cookieManager;

private $_cookieMetadataFactory;

private $_sessionManager;

public function __construct(

\Magento\Framework\Stdlib\Cookie\PhpCookieManager $cookieManager,

\Magento\Framework\Stdlib\Cookie\CookieMetadataFactory $cookieMetadataFactory,
    \Magento\Framework\Session\SessionManagerInterface $sessionManager

) {

$this->_cookieManager = $cookieManager;
        $this->_cookieMetadataFactory = $cookieMetadataFactory;
        $this->_sessionManager = $sessionManager;
}

public function execute(\Magento\Framework\Event\Observer $observer){

//第一次访问,还没有cookie记录
        if ($this->_cookieManager->getCookie('olight_geoip') === null) {
            $metadata = $this->_cookieMetadataFactory
                                                ->createPublicCookieMetadata()
                                                ->setDuration(86400)
                                                ->setPath($this->_sessionManager->getCookiePath())
                                                ->setDomain($this->_sessionManager->getCookieDomain());
            $this->_cookieManager->setPublicCookie('olight_geoip',1,$metadata);

}

//删除cookie

$this->_cookieManager->deleteCookie('olight_geoip');

}

二、session

session 列表

/magento/module-catalog/Model/Session.php
/magento/module-newsletter/Model/Session.php
/magento/module-persistent/Model/Session.php
/magento/framework/Message/Session.php
/magento/module-customer/Model/Session.php
/magento/module-backend/Model/Session.php
/magento/module-checkout/Model/Session.php

下面,以/magento/module-checkout/Model/Session.php为例

<?php

$checkoutSession = $this->_objectManager->create('Magento\Checkout\Model\Session');

//set session
$sessionName = 'setFatherDayCustomer'.$customerId;
$checkoutSession->$sessionName(true);
                
//get session
$sessionName = 'getFatherDayCustomer'.$customerId;
$fatherDayCustomer = $checkoutSession->$sessionName();

//unset session
$sessionName = 'unsFatherDayCustomer'.$customerId;
$checkoutSession->$sessionName();

?>

转载于:https://my.oschina.net/ganfanghua/blog/2875080

cookie and session相关推荐

  1. 你想了解的Cookie和Session就在这~

    目录 1.会话的概念 2.保存会话的两种技术 3.Cookie 4.Session(重点) 1.会话的概念 我们知道session的意思就是会话,Cookie和Session 是两种会话技术,我们首先 ...

  2. Cookie和Session的区别与联系

    Cookie和Session Session 会话的理解 Session的作用 HTTP协议的无状态特点 Session的实现原理(重点) Session常用方法: Cookie 基本介绍 经典案例 ...

  3. 前端页面——Cookie与Session有什么区别

    我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...

  4. cookie、session总结

    前几天在调试第三方支付接口时碰到一个session失效问题,用了几天时间才搞明白,现在回想一下,主要还是由于cookie和session这一块的一些基本概念没有搞清楚,现总结一下. 浏览器使用HTTP ...

  5. cookie 和session 的区别详解

    转自 https://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者 ...

  6. web存储中cookie、session区别

    http协议是一种无状态的协议,浏览器对服务器的每一次请求都是独立的.为了使得web能够产生一些动态信息,就需要保存"状态",而cookie和session机制就是为了解决http ...

  7. cookie和session的代码实现

    cookie和session的代码实现 1.设置cookie 今天笔试题考的是cookie的设置,我竟然选了request也可以设置cookie,我的天呀. 我们来看如何在response设置吧 pu ...

  8. 还分不清 Cookie、Session、Token、JWT?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 转自:掘金   作者:秋天不落叶 juejin.im/po ...

  9. Token ,Cookie、Session傻傻分不清楚?

    点击上方蓝色"视学算法",选择"设为星标" 作者 | 王菜鸟1993 来源 | cnblogs.com/JamesWang1993/p/8593494.html ...

  10. Flask之Cookie与Session

    Cookie与Session 1 Cookie 设置 from flask import Flask, make_responseapp = Flask(__name__)@app.route('/c ...

最新文章

  1. 洛谷P2672 推销员
  2. Jquery知识小点备注
  3. 获取inout框中未改变值的数据_数据分析10——数据分析的基本过程(02)
  4. 局部变量、全局变量、堆、堆栈、静态和全局
  5. Unity3D下Linux平台播放RTSP或RTMP流
  6. Bootstrap 3 : 图片上传预览 image upload preview
  7. 数据结构之二叉树的定义和性质
  8. 64位浮点数_【C语言教程】C语言浮点数及其应用
  9. java数组线性查找_数组查找: 线性查找与二分查找
  10. spring data for mongo
  11. empty怎么发音_empty怎么读什么意思
  12. word段落每行首字怎么对齐_怎样使word文章段落乖乖对齐!一个设置就行!
  13. python计算学分绩点_GitHub - junfenghu/calc_GPA: 计算学分基点
  14. tp5shop tp5商城 WSTMart B2B2C开源商城系统
  15. 用excel做logistic回归分析_怎样用SPSS做二项Logistic回归分析?结果如何解释?
  16. 登月疑问:为什么没有在月球上拍地球的照片?
  17. 分数化成有限小数的方法_小数化成分数的方法
  18. Hadoop认识初体验
  19. 晋商消费金融总裁惠康获准,前不久被央行处罚49万元
  20. element-ui 网格_UI备忘单:列表与网格

热门文章

  1. Oracle Dataguard 管理命令
  2. Windows 未能启动。原因可能是最近更改了硬件或软件。解决此问题的步骤
  3. mac更新之后vmware fusion下vmware tools报错
  4. Postgresql 批量导入导出表数据
  5. rm删除报错 :-bash: syntax error near unexpected token `('
  6. ajax跨域问题解决(spring boot)
  7. R(1):中文乱码解决方案
  8. 关于C#关闭窗体后,依旧有后台进程在运行的解决方法
  9. 文件正由另一进程使用,该进程无法访问该文件,解决方法
  10. maven工程找不到jar包(依赖)的解决方法