mingyunyuziyou

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', '王五');