thinkphp3.x中cookie方法的用法分析

时间:2022-09-05 07:35:23

本文实例分析了thinkphp3.x中cookie方法的用法。分享给大家供大家参考,具体如下:

一、cookie函数也是一个多元化操作函数,完成cookie的设置、获取和删除操作。

Cookie 用于Cookie 设置、获取、删除操作:

用法:

?
1
cookie($name, $value='', $option=null)

参数:

 name(必须):要操作的cookie变量

value(可选):要设置的cookie值

option(可选):传入的cookie设置参数,默认为空

返回值 见详(根据具体的用法返回不同的值)

二、Cookie设置

?
1
2
cookie('name','value'); //设置cookie
cookie('name','value',3600); // 指定cookie保存时间

3.1版本开始,cookie方法增加对数组的支持(采用轻量级的json编码格式保存 减少存储空间),例如:

?
1
cookie('name',array('name1','name2'));

还可以支持参数传入的方式完成复杂的cookie赋值,下面是对cookie的值设置3600秒有效期,并且加上cookie前缀think_

?
1
cookie('name','value',array('expire'=>3600,'prefix'=>'think_'))

数组参数可以采用query形式参数

?
1
cookie('name','value','expire=3600&prefix=think_')

和上面的用法等效。

传入的option参数支持prefix,expire,path,domain四个索引参数,如果没有传入或者传入空值的话,会默认取COOKIE_PREFIX、COOKIE_EXPIRE、COOKIE_PATH和COOKIE_DOMAIN四个配置参数。如果只传入个别参数,那么也会和默认的配置参数合并。

三、Cookie获取

获取cookie很简单,无论是怎么设置的cookie,只需要使用:

?
1
$value = cookie('name');

如果没有设置cookie前缀的话 相当于

?
1
$value = $_COOKIE['name']

如果设置了cookie前缀的话,相当于

?
1
$value = $_COOKIE['前缀+name']

四、Cookie删除

删除某个cookie的值,使用:

?
1
cookie('name',null);

要删除所有的Cookie值,可以使用

?
1
2
cookie(null); // 清空当前设定前缀的所有cookie值
cookie(null,'think_'); // 清空指定前缀的所有cookie值

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