thinkphp5COOKIE和SESSION学习笔记
#三、COOKIE和SESSION#
##1、回忆SESSION和COOKIE##
1. ⽤户打开浏览器,访问服务器,服务器产⽣SESSION和COOKIE⽂件返回COOKIE⽂件 2. ⽤户再次访问服务器,会到COOKIE⾥⾯到SESSION的唯⼀标识符,去访问服务器中的SESSION⽂件
3. COOKIE和SESSION⾥⾯存放⼀些临时数据和⼀些⽤户的基本信息;
4. session⽂件存放的位置,在php.ini中session.save_path进⾏修改和了解
5. 利⽤seesion_star进⾏开启session
##2、在thinkphp5中##
SESSION配置在application\config.php中
'session' => [
'id' => '',
// SESSION_ID的提交变量,解决flash上传跨域
特种能源工程与烟火技术
'var_session_id' => '',
'prefix' => 'think',
// 驱动⽅式⽀持redis memcache memcached
'type' => '',
'auto_start' => true,
],
//上述配置中对SESSION前缀时什么不太了解吧
SESSION前缀就是SESSION种的⼀个数组,它相当于把SESSION分成很多快,⼜叫他们为域,如: 《全民健身条例》SESSION => [
'think'=>[这个域的数据],
纳米二氧化硅'think1'=>[这个域的数据],
]//这就是分为两个域的,
设置还包括
参数描述
type session类型
expire session过期时间
prefix session前缀
auto_start 是否⾃动开启
use_trans_sid 是否使⽤use_trans_sid
var_session_id 请求session_id变量名
id session_id
name session_name
path session保存路径
domain session cookie_domain
use_cookies 是否使⽤cookie
cache_limiter session_cache_limiter
cache_expire session_cache_expire
###对SESSION进⾏操作###
在使⽤thinkphp5种SESSION要添加命名空间
use think\Session;国外育儿经
Session::set('name','thinkphp');
// 赋值think作⽤域
Session::set('name','thinkphp','think');
判断是否存在
// 判断(当前作⽤域)是否赋值Session::has('name');
// 判断think作⽤域下⾯是否赋值Session::has('name','think');
取值
// 取值(当前作⽤域)Session::get('name');
// 取值think作⽤域
Session::get('name','think');
删除
// 删除(当前作⽤域)Session::delete('name');
// 删除think作⽤域下⾯的值Session::delete('name','think');
// 指定当前作⽤域
Session::prefix('think');
取值并删除
// 取值并删除
Session::pull('name')
清空当前作⽤域
// 清除session(当前作⽤域)Session::clear();
/
/ 清除think作⽤域
Session::clear('think');
⼆级数组
// 赋值(当前作⽤域)Session::set('name.item','thinkphp'); // 判断(当前作⽤域)是否赋值Session::has('name.item');
// 取值(当前作⽤域)Session::get('name.item');
创意平板折叠桌// 删除(当前作⽤域)Session::delete('name.item');
###SESSION的函数助⼿###
初始化session
session([
'prefix' => 'module',
'type' => '',
'auto_start' => true,
session('name', 'thinkphp');
赋值think作⽤域
session('name', 'thinkphp', 'think');判断(当前作⽤域)是否赋值session('?name');
取值(当前作⽤域)
session('name');
取值think作⽤域
session('name', '', 'think');
删除(当前作⽤域)
session('name', null);
清除session(当前作⽤域)session(null);
清除think作⽤域
session(null, 'think');
###COOKIE的设置###
‘cookie’ =>[
// cookie 名称前缀
‘prefix’ => ‘’,
// cookie 保存时间
‘expire’ => 0,
// cookie 保存路径
‘path’ => ‘/’,
// cookie 有效域名
‘domain’ => ‘’,
// cookie 启⽤安全传输
‘secure’ => false,
// httponly设置
‘httponly’ => ‘’,
// 是否使⽤ setcookie
‘setcookie’ => true,
],
###cookie的操作###
使⽤cookie也要添加命名空间use think\Cookie;
设置
/
/ 设置Cookie 有效期为 3600秒
Cookie::set('name','value',3600);
// 设置cookie 前缀为think_
Cookie::set('name','value',['prefix'=>'think_','expire'=>3600]); // ⽀持数组
Cookie::set('name',[1,2,3]);
判断
Cookie::has('name');
// 判断指定前缀的cookie值是否存在
Cookie::has('name','think_');
获取
Cookie::get('name');
/
/ 获取指定前缀的cookie值
Cookie::get('name','think_');
删除cookie
Cookie::delete('name');
// 删除指定前缀的cookieCookie::delete('name','think_');
清空
清空指定前缀的cookieCookie::clear('think_');
###cookie的函数助⼿###
// 初始化
电子杂志制作软件哪个好
cookie(['prefix' => 'think_', 'expire' => 3600]);
// 设置
cookie('name', 'value', 3600);
// 获取
echo cookie('name');
// 删除
cookie('name', null);
// 清除
cookie(null, 'think_');