1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP/Yii2操作Cookie,常见问题以及注意事项

作者:用户 来源:互联网 时间:2017-12-01 10:19:28

phpcookieyii操作常见问题注意事项

PHP/Yii2操作Cookie,常见问题以及注意事项 - 摘要: 本文讲的是PHP/Yii2操作Cookie,常见问题以及注意事项,设置Cookie PHP setcookie("name", "Larry", time()+3600); Yii2 $cookies = Yii::$app->response->cookies;$cookies-&g

设置Cookie

PHP

setcookie("name", "Larry", time()+3600);

Yii2

$cookies = Yii::$app->response->cookies;$cookies->add(new /yii/web/Cookie([ 'name' => 'name', 'value' => 'Larry', 'expire'=>time()+3600]));

创建名为”name”的cookie,赋值为”Larry”,并且规定该cookie一小时后失效

expire这是一个UNIX时间戳,如果设置为0,或省略,该Cookie将在浏览器关闭时消失

获取Cookie

PHP

$name=$_COOKIE["user"]

Yii2

$cookies = Yii::$app->request->cookies;//注意此处是request$language = $cookies->get('user', 'defaultName');//设置默认值 检查Cookie

PHP

if(isset($_COOKIE["user"])){ }

Yii2

$cookies = Yii::$app->request->cookies;if (isset($cookies['user'])){ }if ($cookies->has('user')){ }if (isset($cookies['user'])){ } 删除Cookie

PHP

setcookie("user", "", time()-3600);//把失效日期设置为过去1小时unset($_COOKIE['user']);

Yii2

$cookies = Yii::$app->request->cookies;$cookies->remove('user'); 常见问题

A.Cookie的key不能含“.” 符号,会被解析成“_”,导致具有以上符号的key获取不到Cookie的bug

B.区分Yii2中 Yii::$app->request->cookies 和 Yii::$app->response->cookies 不仔细容易直接复制粘贴了。

1.如果把第一个用来设置Cookie,会报错: The cookie collection is read only

2.如果把第二个用来获取Cookie,程序正常执行未发生异常,但会获取不到Cookie,不容易察觉。。。

C.Cookie的key区分大小写

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , cookie , yii , 操作 , 常见问题 , 注意事项 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备
Kubernetes上基于Istio体验云原生应用实践 资料下载