Laravel session的使用

laravel中的session默认存到文件中

session文件的目录:storageframeworksessions

操作session的方法在laravel中有2种方案,有类来操作也有利用辅助函数来操作。

  • Session类来操作

  • 辅助函数来操作 session()

img

img

设置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) }}来读取闪存

路由

img

控制器

img

原文地址:https://www.cnblogs.com/makalochen/p/14400360.html