Cookie支持
系统内置了一个cookie函数用于支持和简化Cookie的相关操作,该函数可以完成Cookie的设置、获取、删除操作。
Cookie设置
cookie("name","value"); //设置cookie
cookie("name","value",3600); // 指定cookie保存时间
还可以支持参数传入的方式完成复杂的cookie赋值,下面是对cookie的值设置3600秒有效期,并且加上cookie前缀think_
cookie("name","value",array("expire"=>3600,"prefix"=>"think_"))
数组参数可以采用query形式参数
cookie("name","value","expire=3600&prefix=think_")
和上面的用法等效。
后面的参数支持
prefix,expire,path,domain和httponly(**3.2.2版本新增**)
五个索引参数,如果没有传入或者传入空值的话,会默认取COOKIE_PREFIX
、COOKIE_EXPIRE
、COOKIE_PATH
、COOKIE_DOMAIN
和COOKIE_HTTPONLY
五个配置参数。如果只传入个别参数,那么也会和默认的配置参数合并。
支持给cookie设置数组值(采用JSON编码格式保存),例如:
cookie("name",array("value1","value2"));
Cookie获取
获取cookie很简单,无论是怎么设置的cookie,只需要使用:
$value = cookie("name");
如果没有设置cookie前缀的话 相当于
$value = $_COOKIE["name"];
如果设置了cookie前缀的话,相当于
$value = $_COOKIE["前缀+name"];
如果要获取所有的cookie,可以使用:
$value = cookie();
该用法相当于
$value = $_COOKIE;
注意,该用法会返回所有的cookie而无论是否当前的前缀。
Cookie删除
删除某个cookie的值,使用:
cookie("name",null);
要删除所有的Cookie值,可以使用:
cookie(null); // 清空当前设定前缀的所有cookie值
cookie(null,"think_"); // 清空指定前缀的所有cookie值