httpsoft / http-cookie
Managing cookies with PSR-7 support
Installs: 46 550
Dependents: 3
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: ^7.4|^8.0
- psr/http-message: ^1.1|^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- httpsoft/http-message: ^1.1
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
- vimeo/psalm: ^4.9|^5.2
Provides
README
This package provides convenient cookie management in accordance with the RFC 6265 specification.
This package supports PSR-7 and PSR-15 interfaces.
Documentation
Installation
This package requires PHP version 7.4 or later.
composer require httpsoft/http-cookie
Usage
use HttpSoft\Cookie\Cookie; use HttpSoft\Cookie\CookieCreator; use HttpSoft\Cookie\CookieManager; use HttpSoft\Cookie\CookieSendMiddleware; /** * @var Psr\Http\Message\ResponseInterface $response * @var Psr\Http\Message\ServerRequestInterface $request * @var Psr\Http\Server\RequestHandlerInterface $handler */ $manager = new CookieManager(); // Create cookie $cookie1 = new Cookie('test', 'value', '+1 hour'); // or $cookie2 = CookieCreator::create('test2', 'value', time() + 3600, '.example.com', '/path'); // or from raw `Set-Cookie` header $cookie3 = CookieCreator::createFromString('name=value; Path=/; Secure; HttpOnly; SameSite=Lax; ...'); // Set cookies to the manager $manager->set($cookie1); $manager->set($cookie2); $manager->set($cookie3); // Set all cookie to the response for sending $response = $manager->send($response); // or use `CookieSendMiddleware` middleware $middleware = new CookieSendMiddleware($manager); $response = $middleware->process($request, $handler); // Emit a response to the client // ...