13.thinkphp的Session和cookie

一.Session

1. 在使用Session之前,需要开启初始化,在中间件文件middleware.php;

// Session 初始化
\think\middleware\SessionInit::class

2. TP6.0不支持原生$_SESSION的获取方式,也不支持session_开头的函数;

3. 直接使用::set()和::get()方法去设置Session的存取;

Session::set('user', 'Mr.Lee');
 //设置session,参数1名称,参数2值
Session::get('user');
 //读取session,参数为名称
Session::all()
 //读取session 所有内容
Request::session('user');
 //读取session,参数为名称
Request::session();
 //读取session 所有内容

========================================

 

然后:

Request::session('user');
 //读取session,参数为名称
Request::session();
 //读取session 所有内容

session('里面有值就获取一个')

session('没有值就获取所有')

4. ::get()第二参数,可以设置当不存在值的时候,设置一个默认值;

Session::get('name')
 //name 不存在时返回null
 Session::get('name', '')
 //name 不存在时返回空

get("参数一获取值","参数二不存在时返回一个默认值")

5. ::has()判断是否赋值,::delete()删除,::pull()取值后删除;

Session::has('user');
 Session::delete('user');
 Session::pull('user');
 //不存在则返回null

::has存在就返回true

6. ::clear()清空整个session;

Session::clear('');

7. ::flash()方法,设置闪存数据,只请求一次有效的情况,再请求会失效;

Session::flash('user','Mr.Lee');

二. 二维和助手函数

1. 二维操作,就是对象和数组的调用方式,如下:

// 赋值(当前作用域)
Session::set('obj.user','Mr.Lee');
 // 判断(当前作用域)是否赋值
Session::has('obj.user');
// 取值(当前作用域)
Session::get('obj.user');
 // 删除(当前作用域)
Session::delete('obj.user');

2. 助手函数,更加方便操作,如下:

//赋值
session('user', 'Mr.Wang');
 //has 判断
session('?user');
 //delete 删除
session('user', null);
 //清理全部
session(null);
 //输出
echo session('user');

一.Cookie

1. Cookie是客户端存储,默认情况下是开启初始化的,在config/cookie.php;

2. ::set()方法,创建一个最基本的cookie,可以设置前缀、过期时间、数组等;

Cookie::set('user', 'Mr.Lee');
 Cookie::set('user', 'Mr.Lee', 3600);
 //临时保存,关闭浏览器消失
//3600 秒
Request::cookie('user');
 Request::cookie();

=========================

使用cookie设置3600秒

=========================

get是没有设置cookie的

=========================

如果要取值

3. ::forever()方法,永久保存Cookie(就是十年的意思);

Cookie::forever('user', 'Mr.Lee');

4. ::has()判断是否存在,:get()取值,::delete()删除cookie;

Cookie::has('user');
 Cookie::get('user');
 Cookie::delete('user');

二.助手函数

1. 助手函数,更加方便操作,如下:

echo cookie('user');
 //输出
cookie('user', 'Mr.Lee', 3600); //设置
cookie('user', null);
 //删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值