logifire/nano-php-state

会话和cookie处理

0.2.0 2019-03-12 18:18 UTC

This package is auto-updated.

Last update: 2024-09-15 07:55:55 UTC


README

该库的目的是连接PHP会话实现和PSR 7、15标准。

PhpStateMiddleware 添加到中间件栈中,并使用 SessionService 来启动新会话而不是使用 session_start()

您可以选择使用 SessionCollection 而不是 $_SESSION

...
/* @var ServerRequestInterface $server_request */
$session_service = new SessionService($server_request);

// Starts a writable session, this is the default you are used to when calling session_start()
$session_service->startWriteRead();

// Now you can use sessions 
$_SESSION['content'] = 'Hello World';

// Alternative
$session_collection = new SessionCollection();
$session_collection->setString('content', 'Hello World');
...

cookie抽象化

此库还提供了cookie抽象化,如果您需要设置自定义cookie。

...
// The PhpStateMiddleware has an implicit dependency on ResponseCookieService, must be the same instance past though the app
$response_cookie_service = new ResponseCookieService();
...
$cookie = new ResponseCookie('name', 'value');
$cookie->setExpires(strtotime('+ 14 days'));

$response_cookie_service->addCookie($cookie);
...

注意 没有实现 cache_limit 选项。但是,您应该能够使用大多数会话选项。