📅  最后修改于: 2023-12-03 15:07:58.071000             🧑  作者: Mango
在Web应用程序中,会话可以跨请求存储用户信息。 Laravel框架提供了一个方便的方法来处理会话。
要创建会话,只需要使用session()
函数。它可以用来存储和访问会话值。
// 存储值
session(['key' => 'value']);
// 访问值
$value = session('key');
注意:Laravel默认情况下使用cookie存储会话ID。可以在.env文件中修改这个设置。
SESSION_DRIVER=file
有时需要检查是否存在特定的会话值或者整个会话本身。
// 检查会话是否存在
if (session()->exists('key')) {
// do something
}
// 检查特定的会话值是否存在
if (session('key') !== null) {
// do something
}
除了检查会话之外,还可以删除、闪存、重新生成会话ID等。
// 删除整个会话
session()->flush();
// 移除指定的会话值
session()->forget('key');
// 闪存一个会话数据,它会在下次请求后自动删除
session()->flash('status', 'Task was successful!');
// 重新生成会话ID
session()->regenerate();
闪存操作非常有用。例如,当用户提交表单并重定向到其他页面时,可以使用闪存来显示成功或错误消息,而无需手动在下一个页面中检查和删除消息。
// 控制器中闪存消息
public function store(Request $request)
{
// 处理逻辑...
return redirect('/home')->with('success', 'Task was successful!');
}
// 视图中展示消息
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
在Laravel中,会话管理非常简单,可以轻松地存储和检索会话值,并对其进行各种操作。检查会话存在只需几行代码即可实现。闪存是常用的操作之一,可以用来在跨多个请求时显示和删除消息。