laravel 使用 session
作者:
秒速五厘米
在开始之前先说一下,使用 request 对象的 session() 方法,和直接使用全局函数 session() 是一样的,$request->session() 等价于 session()
1)增
增加普通变量
session()->put(‘name’, 'value');
或
session(['name'=>'value']);
向数组追加值
session()->push(‘arr’, 'item');
多维数组,可用直接用点(.)访问
session()->push('arr.items', 'item');
2)改
操作同“增”
session()->put(‘name’, 'value'); session(['name'=>'value']);
3)查
session('name');
或
session()->get('name');
PS1:只有全局session()方法才能使用第一种查方法,request对象的session()方法不能使用些方法
PS2:两种方法都可以点(.)来访问session里的多维数组值 session('arr.items') ,session()->get('arr.items');
PS3:两种方法都可以接收第二个参数作用查询为空时,返回的默认值(只返回,不会写入session),例如:session('name', '张三') ,session()->get('name', '李四');
4)删
删除指定session值
session()->forget('name');
清空所有session值
session()->flush();
5)特殊方法 pull
pull 算是“查方法”,但它获取到数据后,会马上删除这个session数据
session()->pull('name');var_dump(session()->get('name'));
PS:同样的,这个方法也可以接收第二个参数作用查询为空时,返回的默认值(只返回,不会写入session),例如:session->pull('name', '王五');