k-ko / slim3-session-middleware
Slim 3 的会话中间件和助手。
v0.7.1
2023-11-01 19:13 UTC
Requires
- php: >=7.2
- psr/http-message: ^1.0
- slim/slim: ^3
README
为 Slim 框架提供简单的会话中间件。还包括一个有用的助手类,允许使用 PHP 内置的会话管理。
从 https://github.com/andrewdyer/slim3-session-middleware 分支而来
许可证
基于 MIT 许可证。完全免费用于私人或商业项目。
安装
composer require k-ko/slim3-session-middleware
使用方法
<?php $app = new \Slim\App(); $app->get('/', function (Request $request, Response $response) use ($container) { if (!isset($container['session']['loggedIn'])) { // ... } // ... }); // Add as LAST middleware to run 1st $app->add(new \Middleware\SessionMiddleware([ 'autorefresh' => true, 'name' => 'myapp_session', 'lifetime' => '1 hour', // optional: 'handler' => new \Session\MySQLiSessionHandler($container['mysqli']) ])); $app->run();
支持选项
会话助手
\Session\Helper
类可以附加到您的应用容器中
$container = $app->getContainer(); $container['session'] = function ($container) { return new \Session\Helper(); };
助手类可以用来检查会话变量是否存在,除了设置、获取和删除会话变量外。
$app->get('/', function (Request $request, Response $response) use ($container) { // Check if variable exists $exists = $container['session']->has('my_key'); $exists = isset($container['session']->my_key); $exists = isset($container['session']['my_key']); // Get variable value $value = $container['session']->get('my_key', 'default'); $value = $container['session']->my_key; $value = $container['session']['my_key']; // Take variable value out from session $value = $container['session']->take('my_key', 'default'); // Set variable value $container['session']->set('my_key', 'my_value'); $container['session']->my_key = 'my_value'; $container['session']['my_key'] = 'my_value'; // Remove variable $container['session']->remove('my_key'); unset($container['session']->my_key); unset($container['session']['my_key']); });
支持
如果您认为发现了问题,请使用 问题跟踪器 报告,或者更好的是,分支仓库并提交一个 pull request。