psr7-cookies icon indicating copy to clipboard operation
psr7-cookies copied to clipboard

🍪 bakes cookies for PSR-7 messages

PSR-7 Cookies

Latest Version on Packagist Supported PHP versions Total Downloads Software License

Install

Via Composer

$ composer require hansott/psr7-cookies

Usage

Add cookie to Psr\Http\Message\ResponseInterface

<?php

use HansOtt\PSR7Cookies\SetCookie;

// Set a cookie with custom values.
$cookie = new SetCookie('name', 'value', time() + 3600, '/path', 'domain.tld', $secure, $httpOnly, $sameSite);

// Set a cookie to delete a cookie.
$cookie = SetCookie::thatDeletesCookie('name');

// Set a cookie that stays forever (5 years)
$cookie = SetCookie::thatStaysForever('name', 'value');

// Set a cookie that expires at a given time.
$now = new DateTimeImmutable();
$tomorrow = $now->modify('tomorrow');
$cookie = SetCookie::thatExpires('name', 'value', $tomorrow);

// Add the cookie to a response
$responseWithCookie = $cookie->addToResponse($response);

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email hans at iott consulting instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.