81 lines
1.6 KiB
Markdown
81 lines
1.6 KiB
Markdown
# kiri-router
|
|
|
|
## Session 使用说明
|
|
|
|
### 基本用法
|
|
|
|
```php
|
|
use Kiri\Router\Session;
|
|
|
|
// 存储 Session 数据
|
|
Session::put('user_id', 123);
|
|
Session::put('username', 'admin');
|
|
|
|
// 或者批量设置
|
|
Session::put(['user_id' => 123, 'username' => 'admin']);
|
|
|
|
// 获取 Session 数据
|
|
$userId = Session::get('user_id');
|
|
$username = Session::get('username', 'guest'); // 带默认值
|
|
|
|
// 获取所有 Session 数据
|
|
$all = Session::get(); // 或 Session::all()
|
|
|
|
// 检查 Session 中是否存在指定键
|
|
if (Session::has('user_id')) {
|
|
// ...
|
|
}
|
|
|
|
// 删除 Session 数据
|
|
Session::forget('user_id');
|
|
|
|
// 清空所有 Session 数据
|
|
Session::flush();
|
|
|
|
// 销毁 Session(包括文件)
|
|
Session::destroy();
|
|
|
|
// 重新生成 Session ID
|
|
Session::regenerate();
|
|
```
|
|
|
|
### 使用中间件自动管理 Session
|
|
|
|
在配置文件中添加 SessionMiddleware 到中间件列表:
|
|
|
|
```php
|
|
// config/request.php
|
|
return [
|
|
'middlewares' => [
|
|
\Kiri\Router\Base\SessionMiddleware::class,
|
|
// 其他中间件...
|
|
],
|
|
];
|
|
```
|
|
|
|
或者使用注解在控制器方法上:
|
|
|
|
```php
|
|
use Kiri\Router\Annotate\Middleware;
|
|
use Kiri\Router\Base\SessionMiddleware;
|
|
|
|
class UserController
|
|
{
|
|
#[Middleware(SessionMiddleware::class)]
|
|
public function login()
|
|
{
|
|
Session::put('user_id', 123);
|
|
return response()->json(['success' => true]);
|
|
}
|
|
}
|
|
```
|
|
|
|
### 配置 Session
|
|
|
|
```php
|
|
// 初始化 Session(可选,有默认值)
|
|
Session::init(
|
|
savePath: storage(null, 'session'), // Session 存储路径
|
|
lifetime: 7200 // Session 生命周期(秒),默认2小时
|
|
);
|
|
``` |