Laravel 会话2025年3月17日 | 阅读 3 分钟 Laravel 会话是一种跨多个用户请求存储用户信息的方式。它可以跟踪访问应用程序的所有用户。 让我们通过一个例子来理解会话。
form.blade.php
输出 ![]() 当我们单击提交按钮时,会出现以下屏幕 ![]() 将会话中的数据存储要在会话中存储用户名,我们使用会话的 put() 方法,如下所示 $request->session()->put('user', $request->input('username')); 要检索会话,我们使用会话的 get() 方法,如下所示 echo $request->session()->get('user'); 输出 ![]() ![]() 全局会话助手我们还可以使用全局会话函数,该函数在会话中存储和检索值。当会话函数传递单个参数时,它将返回键的值。如果会话传递键/值对数组,则这些值将存储在会话中。 // 从会话键中检索数据。 $data=session('key'); //为会话键提供默认值。 $data=session('key', 'default'); // 将值存储在会话键中。 session(['key'=>'value']); 让我们通过一个例子来理解。 FormController.php 输出 ![]() ![]() 检索所有会话数据如果我们想检索所有会话数据,那么我们可以使用 all() 方法,如下所示 $session_data = $request->session()->all(); 让我们通过一个例子来理解 FormController.php 现在,我们在 web.php 文件中定义路由。 Route::get('/show','FormController@store'); 输出 ![]() 删除会话现在,我们将看到如何从会话中删除数据。我们可以使用 forget() 方法删除会话。 让我们通过一个例子来理解。 FormController.php 输出 ![]() 在上面的屏幕截图中,我们可以看到未显示 user1,因此表示已从会话中删除 user1。 要从会话中删除所有数据,我们将使用 flush() 方法。 $request->session()->flush(); 让我们通过一个例子来理解 flush() 方法。 输出 ![]() 在上面的屏幕截图中,我们观察到所有数据已从会话中删除,并且它返回一个空数组。 闪存数据当我们想将数据存储在会话中以用于当前请求时,闪存数据非常有用,因为闪存数据在下一个请求中被删除。 让我们通过一个例子来理解闪存数据。 输出 ![]() 当我们从代码中删除 flash() 函数时,代码将如下所示 当我们两次刷新页面时,第二次刷新时,会话数据将被删除。 ![]() 注意 |
我们请求您订阅我们的新闻通讯以获取最新更新。