enjoys / cookie
Cookie manager
Installs: 1 960
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >= 8.0
- psr/http-message: ^1.0
Requires (Dev)
- httpsoft/http-server-request: ^1.0
- infection/infection: ^0.26.18
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^v5.3
- vimeo/psalm: ^5.6
README
Example
В Options устанавливаются глобальные параметры. При установке cookie можно будет изменить эти настройки для конкретного случая.
use Enjoys\Cookie\Options; /** @var \Psr\Http\Message\ServerRequestInterface $request */ $cookieOptions = new Options($request); $cookieOptions->setDomain('example.com'); //default: false (localhost) $cookieOptions->setPath('/'); //default: '' (string empty) $cookieOptions->setSecure(true); //default: false $cookieOptions->setHttponly(true); //default: false $cookieOptions->setSameSite('Strict'); //default: Lax
use Enjoys\Cookie\Cookie; use Enjoys\Cookie\Options; /** @var Options $cookieOptions */ $cookie = new Cookie($cookieOptions); $cookie->set('key', 'value<>', $ttl = true, $options = []); $cookie->setRaw('key', 'value<>'); $cookie->delete('key'); $cookie->get('key'); $cookie->has('key');
TTL (Time to left)
По-умолчанию true - срок действия cookie истечёт с окончанием сессии (при закрытии браузера)
Также может принимать другие значения:
(int) 0
(bool) true
(string) 'session'
- Срок действия cookie истечёт с окончанием сессии (при закрытии браузера)(bool) false
- Cookie установлена не будет, либо будет удалена, если была установлена ранееint|float (кроме 0)
- Положительное или отрицательно число, кроме 0, добавится к текущей дате количество секунд. При отрицательном значении cookie установлена не будет, либо будет удалена, если была установлена ранееDateTime|DateTimeImmutable
- Установит ту дату которая указана в этом объекте.string
- Разрешены относительные форматы даты/времени, которые понимает парсер функций strtotime(), DateTime и date_create(), например '+1 week'. Все относительно текущей даты.