配置方面的不寫了,請參考學院君的文章:http://laravelacademy.org/post/5898.html
在開始之前先說一下,使用 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', '王五');