game-worker / kiri-router
kiri router
v1.6
2025-07-10 02:30 UTC
Requires
- php: >=8.0
- composer-runtime-api: ^2.0
- psr/http-message: ^1.0
- psr/http-server-middleware: ^1.0
README
Session 使用说明
基本用法
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 到中间件列表:
// config/request.php
return [
'middlewares' => [
\Kiri\Router\Base\SessionMiddleware::class,
// 其他中间件...
],
];
或者使用注解在控制器方法上:
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
// 初始化 Session(可选,有默认值)
Session::init(
savePath: storage(null, 'session'), // Session 存储路径
lifetime: 7200 // Session 生命周期(秒),默认2小时
);