Cookie
Medusa\Http\Cookie используется для установки, чтения и удаления cookie в браузере.
Инициализация класса
Создайте объект Cookie, передав имя, значение и при необходимости массив опций.
use Medusa\Http\Cookie;
$cookie = new Cookie('preferred_theme', 'light', [
'expires' => '2026-06-15 23:59:59',
'path' => '/',
'domain' => '127.0.0.1',
'secure' => false,
'httponly' => true,
'samesite' => 'Lax',
]);
Установка cookie
Метод $cookie->set() отправляет cookie в браузер.
$cookieSet = $cookie->set();
if ($cookieSet) {
echo 'Cookie "preferred_theme" установлена';
} else {
echo 'Не удалось установить cookie "preferred_theme"';
}
Проверка существования cookie
Метод $cookie->has() проверяет, установлена ли cookie.
$cookie = new Cookie('preferred_theme');
$cookieExists = $cookie->has();
if ($cookieExists) {
echo 'Cookie "preferred_theme" установлена';
} else {
echo 'Cookie "preferred_theme" не установлена';
}
Получение значения cookie
Метод $cookie->get($default = null) возвращает значение cookie или значение по умолчанию, если cookie
отсутствует.
$cookie = new Cookie('preferred_theme');
$theme = $cookie->get('system');
echo sprintf('Cookie "preferred_theme" содержит значение %s', $theme);
Удаление cookie
Метод $cookie->remove() удаляет cookie из браузера.
$cookie = new Cookie('preferred_theme', null, [
'path' => '/',
'domain' => '127.0.0.1',
'secure' => false,
'httponly' => true,
'samesite' => 'Lax',
]);
$cookieRemoved = $cookie->remove();
if ($cookieRemoved) {
echo 'Cookie "preferred_theme" удалена';
} else {
echo 'Не удалось удалить cookie "preferred_theme"';
}