📜  laravel 中的会话变量 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:13.361000             🧑  作者: Mango

Laravel中的会话变量

在 Laravel 中,会话变量是一种临时存储数据的机制,用于在多个请求之间共享数据。会话变量可以存储于服务器端或客户端,根据存储位置的不同,会话变量分为两种类型:服务器端会话和客户端会话。

服务器端会话

服务器端会话使用 Laravel 自带的 Session facade 来管理。Session facade 提供了一系列方法,用于处理会话变量。以下是几个常用的方法:

开始会话
session_start();

在 Laravel 中,由于框架已经封装了会话机制,不需要手动开启会话。

设置会话变量
session(['key' => 'value']);
获取会话变量
$value = session('key');
删除会话变量
session()->forget('key');
清空所有会话变量
session()->flush();
客户端会话

客户端会话使用浏览器的 cookie 存储会话变量。Laravel 已经支持了处理客户端会话的机制,只需在路由中增加 middleware 就可以使用。可以使用以下任何一个中间件,将会话存储于客户端。

web 中间件

web 中间件是 Laravel 应用程序中默认的中间件,处理客户端会话。只需将路由加入 web 中间件组,就可以将会话存储于客户端。

Route::middleware(['web'])->group(function () {
    //
});
encrypted_cookie 中间件

encrypted_cookie 中间件与 web 中间件相似,也会将会话存储于客户端。不同的是,encrypted_cookie 中间件会对会话数据进行加密。

Route::middleware(['encrypted_cookie'])->group(function () {
    //
});
结语

本文简单介绍了 Laravel 中的会话变量,包括服务器端会话和客户端会话。仅限于入门级别,更高级别的内容请参考官方文档。