К содержанию
Medusa
Документация

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"';
}