Yii2中cookie用法示例分析

本文实例讲述了Yii2中cookie用法。分享给大家供大家参考,具体如下:

<?php
//设置方法
$cookie = new Cookie([
  'name' => 'cookie_monster',
  'value' => 'Me want cookie!',
  'expire' => time() + 86400 * 365,
]);
\Yii::$app->getResponse()->getCookies()->add($cookie);
//读取方法
$value = \Yii::$app->getRequest()->getCookies()->getValue('my_cookie');
//给cookie加域名
$cookie = new Cookie([
  'name' => 'cookie_monster',
  'value' => 'Me want cookie everywhere!',
  'expire' => time() + 86400 * 365,
  'domain' => '.example.com' // <<<=== HERE
]);
\Yii::$app->getResponse()->getCookies()->add($cookie);
//设置登录cookie
$config = [
  // ...
  'components' => [
    // ...
    'user' => [
      'class' => 'yii\web\User',
      'identityClass' => 'app\models\User',
      'enableAutoLogin' => true,
      'loginUrl' => '/user/login',
      'identityCookie' => [ // <---- here!
        'name' => '_identity',
        'httpOnly' => true,
        'domain' => '.example.com',
      ],
    ],
    'request' => [
      'cookieValidationKey' => 'your_validation_key'
    ],
    'session' => [
      'cookieParams' => [
        'domain' => '.example.com',
        'httpOnly' => true,
      ],
    ],
  ],
];
//只给批定目录配置cookie
$config = [
  // ...
  'components' => [
    // ...
    'session' => [
      'name' => 'admin_session',
      'cookieParams' => [
        'httpOnly' => true,
        'path' => '/admin',
      ],
    ],
  ],
];
?>

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(0)

相关推荐

  • YII2自动登录Cookie总是失效的解决方法

    前言 最近做Yii2自动登录功能,发现即使开启了Yii2的自动登录配置功能,浏览器关闭后,再次打开浏览器还是处于非登录状态. 网上查询资料基本没有相同情况. 查询登录源码: protected function sendIdentityCookie($identity, $duration) { $cookie = new Cookie($this->identityCookie); $cookie->value = json_encode([ $identity->getId(), $

  • 解析PHP的Yii框架中cookie和session功能的相关操作

    Sessions 和 请求 和 响应类似, 默认可通过为yii\web\Session 实例的session 应用组件 来访问sessions. 开启和关闭 Sessions 可使用以下代码来开启和关闭session. $session = Yii::$app->session; // 检查session是否开启 if ($session->isActive) ... // 开启session $session->open(); // 关闭session $session->clo

  • yii操作cookie实例简介

    yii对cookie的操作常见的主要有以下几种: 1.设置cookie: $cookie = new CHttpCookie('mycookie','this is my cookie'); $cookie->expire = time()+60*60*24*30; //有限期30天 Yii::app()->request->cookies['mycookie']=$cookie; 2.读取cookie: $cookie = Yii::app()->request->getC

  • Yii中的cookie的发送和读取

    cookies: //新创建的cookie会从本地传到服务器上,然后从服务器获取. (1) cookie的发送 $cookies = Yii::$app->response->cookies; // 在要发送的响应中添加一个新的cookie eg:往cookies中添加用户名和密码 $cookies->add(new Cookie(['name'=>'username', 'value'=>$username,])); $cookies->add(new Cookie(

  • Yii2.0中的COOKIE和SESSION用法

    1.Cookie Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的 ,通过/Yii::$app->response->getCookies()->add()添加Cookie,通过/Yii::$app->request->cookies读取Cookie. 1)添加一个Cookie <?php //第一种方法 $cookie = new /yii/web/Cookie(); $cookie -> name =

  • Yii2中cookie用法示例分析

    本文实例讲述了Yii2中cookie用法.分享给大家供大家参考,具体如下: <?php //设置方法 $cookie = new Cookie([ 'name' => 'cookie_monster', 'value' => 'Me want cookie!', 'expire' => time() + 86400 * 365, ]); \Yii::$app->getResponse()->getCookies()->add($cookie); //读取方法 $v

  • Yii2中SqlDataProvider用法示例

    本文实例讲述了Yii2中SqlDataProvider用法.分享给大家供大家参考,具体如下: 第一种方法: $totalCount = Yii::$app->db->createCommand('SELECT COUNT(*) FROM posts WHERE publish=:publish', [':publish' => 1]) ->queryScalar(); $dataProvider = new SqlDataProvider([ 'sql' => 'SELECT

  • jquery中cookie用法实例详解(获取,存储,删除等)

    本文实例讲述了jquery中cookie用法.分享给大家供大家参考,具体如下: cookie在jquery中有指定的cookie操作类,下面我先来介绍我们在使用cookie操作类时的一些问题,然后介绍正确的使用方法. 使用JQuery操作cookie时 发生取的值不正确的问题: 结果发现cookie有四个不同的属性: 名称,内容,域,路径 $.cookie('the_cookie'); // 读取 cookie $.cookie('the_cookie', 'the_value'); // 存储

  • javascript递归函数定义和用法示例分析

    递归函数:是指函数直接或间接调用函数本身,则称该函数为递归函数. 这句话理解起来并不难,从概念上出发,给出以下的例子: function foo(){ console.log("函数 foo 是递归函数."); foo(); } 这个例子的 foo 函数就是一个递归函数. 当你把这个函数拿到浏览器上运行的时候,你会发现内存溢出了,为什么呢?因为这个递归函数没有停止处理或运算的出口,因此这个递归函数就演变为一个死循环. 那如何使用递归呢? 使用递归函数必须要符合两个条件: 1. 在每一次

  • c语言中&的用法示例代码

    1.用于指针赋值 #include<stdio.h> int main() { int a = 2; int*b;//定义一个整形指针 b = &a;//给指针赋值,使指针指向a的地址 printf("%d", b);//输出的是a的地址 printf("\n");//换行符 printf("%d", *b);//*的作用是解引用,取出指针指向地址的内容,达到简 return 0; } 2.用于二目运算中的按位(位运算)与运算

  • python中global用法实例分析

    本文实例讲述了python中global用法.分享给大家供大家参考.具体分析如下: 1.global---将变量定义为全局变量.可以通过定义为全局变量,实现在函数内部改变变量值. 2.一个global语句可以同时定义多个变量,如 global x, y, z 示例程序: >>> def func(): ... global x ... print 'x is ', x ... x = 2 ... print 'Change local x to ', x ... >>>

  • C#中委托用法实例分析

    本文实例讲述了C#中委托用法.分享给大家供大家参考.具体分析如下: Delegate委托,在.NET中应用的非常广泛.会涉及到Lambda表达式,事件,匿名方法等. 那么何为委托? 通俗的来讲,委托除了必须指定delegate关键字和没有方法实体之外,和指定方法没有更多区别.你可以当它是一个占位符,比如你在写代码的时候并不知道你将要处理的是什么.你只需要知道你将要引入的参数类型和输出类型是什么并定义它即可.这就是书本上所传达的方法签名必须相同的意思. 下面我们来定义一个基本的委托: public

  • JavaScript中return用法示例

    本文实例讲述了JavaScript中return用法.分享给大家供大家参考,具体如下: return可以接受函数中的返回值,前提是函数中要有return语句. 下面是一个应用小示例: <html> <head> <script type='text/javascript'> function linkPage(){ alert('You Clicked??'); return false; } </script> </head> <body

  • Javascript中arguments用法实例分析

    本文实例讲述了Javascript中arguments用法.分享给大家供大家参考.具体分析如下: 先来看如下示例: function add(n1,n2){ return n1+n2; } function add(n1,n2,n3) { return n1+n2+n3; } alert(add(1,2)); //NaN,js中调用方法采用就近原则: //而由于该方法没有传入n3,所以结果是NaN js中没有方法重载,怎么解决上面这个问题? //arguments function f1(){

  • python中assert用法实例分析

    本文实例讲述了python中assert用法.分享给大家供大家参考.具体分析如下: 1.assert语句用来声明某个条件是真的. 2.如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句. 3.当assert语句失败的时候,会引发一AssertionError. 测试程序: >>> mylist = ['item'] >>> assert len(mylist) >=

随机推荐