k-ko / slim3-session-middleware

Slim 3 的会话中间件和助手。

v0.7.1 2023-11-01 19:13 UTC

This package is auto-updated.

Last update: 2024-08-30 01:17:53 UTC


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。

有用链接