wyrihaximus / react-http-middleware-session
react/http 中间件,负责处理会话
4.1.0
2021-03-17 20:21 UTC
Requires
- php: ^8 || ^7.4
- ext-session: ^8 || ^7.4
- hansott/psr7-cookies: ^3.0.2
- psr/http-message: ^1.0.1
- react/cache: ^1.1.1
- react/http: ^1.2
- react/promise: ^2.8
- thecodingmachine/safe: ^1.3.3
Requires (Dev)
- wyrihaximus/async-test-utilities: ^3.4.18
This package is auto-updated.
Last update: 2024-09-04 19:23:14 UTC
README
安装
通过 Composer 安装,请使用以下命令,它将自动检测最新版本并将其绑定到 ^
。
composer require wyrihaximus/react-http-middleware-session
此中间件负责处理会话。它使用 react/cache
进行存储或任何实现 React\Cache\CacheInterface
的缓存处理器。
用法
$server = new Server( $loop, /** Other Middleware */ new SessionMiddleware( 'CookieName', $cache, // Instance implementing React\Cache\CacheInterface [ // Optional array with cookie settings, order matters 0, // expiresAt, int, default '', // path, string, default '', // domain, string, default false, // secure, bool, default false // httpOnly, bool, default ], ), /** Other Middleware */ function (ServerRequestInterface $request) { $session = $request->getAttribute(SessionMiddleware::ATTRIBUTE_NAME); // Overwrite session contents, the details of changing specific keys is up to you $session->setContents([ 'foo' => 'bar', ]); // Get session contents var_export($session->getContents()); // Prints something like: ['foo' = 'bar'] return new Response(); } );
响应缓存
如果使用此中间件与 wyrihaximus/react-http-middleware-response-cache
一起,请查看 wyrihaximus/react-http-middleware-response-cache-session-cache-configuration
以确保您不会缓存具有活动会话的用户响应。
数组之间的转换
如果您需要将会话传递给子进程,它有 toArray
和 fromArray
方法
$array = $session->toArray(); // Transfer to child process $session = (new Session('', [], new RandomBytes()))->fromArray($array); // The same can be done transferring changes back to the parent
许可协议
MIT 许可协议 (MIT)
版权所有 (c) 2020 Cees-Jan Kiewiet
特此授予任何人免费获得本软件及其相关文档副本(“软件”)的副本的权利,以不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许获得软件的人进行此类操作,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类索赔、损害或其他责任是由合同行为、侵权行为或其他行为引起的,无论是否与软件或其使用或其它有关。