The package helps in working with HTTP cookies in a PSR-7 environment:
- provides a handy abstraction representing a cookie
- allows dealing with many cookies at once
- forms and adds
Set-Cookie
headers to response
The package could be installed with composer:
composer install yiisoft/cookies
Adding a cookie to response:
$cookie = (new \Yiisoft\Cookies\Cookie('cookieName', 'value'))
->withPath('/')
->withDomain('yiiframework.com')
->withHttpOnly(true)
->withSecure(true)
->withSameSite(\Yiisoft\Cookies\Cookie::SAME_SITE_STRICT)
->withMaxAge(new \DateInterval('P7D'));
$response = $cookie->addToResponse($response);
Modifying response cookies to be sent:
$cookies = \Yiisoft\Cookies\CookieCollection::fromResponse($response);
$cookies->expire('login');
$response = $cookies->setToResponse($response);
Getting request cookies:
$cookies = \Yiisoft\Cookies\CookieCollection::fromArray($request->getCookieParams());
See Yii guide to cookies for more info.
The package is tested with PHPUnit. To run tests:
./vendor/bin/phpunit
The package tests are checked with Infection mutation framework. To run it:
./vendor/bin/infection
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
The Yii Cookies is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.