logifire / nano-php-state
会话和cookie处理
0.2.0
2019-03-12 18:18 UTC
Requires
- php: ^7.2
- psr/http-server-middleware: ^1.0
Requires (Dev)
- logifire/nano-container: ^2.0.0
- logifire/nano-middleware: ^0.1.0
- nyholm/psr7: 1.0.1
- nyholm/psr7-server: 0.3.0
- phpstan/phpstan: ^0.11.2
- phpunit/phpunit: ^8.0.2
- zendframework/zend-httphandlerrunner: 1.0.1
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
选项。但是,您应该能够使用大多数会话选项。