laravel中的session默认存到文件中
session文件的目录:storageframeworksessions
操作session的方法在laravel中有2种方案,有类来操作也有利用辅助函数来操作。
-
Session类来操作
-
辅助函数来操作 session()
设置session
// 写入session
// 方法一
Session::put('键名','值');
// 方法二 辅助函数
session(['键名'=>'值']);
注:辅助函数存储session的时候一定要以数组的形式来定义。
读取操作
// 读取session
// 方法一 Session类
dump(Session::get('session名称',[默认值]));
// 方法二 辅助函数
dump(session(' session名称'));
// 读取全部的session
dump(Session::all());
dump(session()->all());
判断某个Session 值是否存在
// 方法一
dump(Session::has('session名称'));
// 方法二
dump(session()->has(' session名称'));
删除session
// 删除Session
// 方法一
Session::forget('session名称');
if (!Session::has('session名称')){
echo 'name1:已被删除掉<hr>';
}
// 方法二
session()->forget('session名称');
if (!session()->has('session名称')){
echo 'name2:已被删除掉<hr>';
}
-------------------------------------------------
// 删除全部的session数据
// 方法一
Session::flush();
// 方法二
session()->flush();
闪存数据
使用这个方法保存 session,只能将数据保留到下个 HTTP 请求,然后就会被自动删除。
// 方法一
Session::flash('msg','你好世界');
dump(session('msg'));
// 方法二
session()->flash('msg','你好世界');
dump(session('msg'));
// with来设置闪存
return redirect()->route('session.index')->with('msg','我是成功的');
// 模板中的使用 {{ session(key) }}来读取闪存
路由
控制器