Важная особенность безопасности: все значения, отправляемые через компоненты request и response, подписываются секретным ключом, что защищает их от изменения на стороне пользователя.
Инициализация
Для начала работы с куками создаём переменную, хранящую объект ответа:
$cookies = Yii::$app->response->cookies;
Запись куки
$cookies->add(new \\yii\\web\\Cookie([ 'name' => 'name', 'value' => $name ]));
Чтение куки
$cookies = Yii::$app->request->cookies;
// получение значения с запасным вариантом
$value = $cookies->getValue('name', 'default');
// получение через метод get()
$cookie = $cookies->get('name');
if ($cookie !== null) {
$value = $cookie->value;
}
// проверка существования
if ($cookies->has('name')) { ... }
// доступ через массив
if (isset($cookies['name'])) { ... }
Удаление куки
$cookies = Yii::$app->response->cookies;
$cookies->remove('name');
Фреймворк автоматически криптографически подписывает данные кук, предотвращая их подмену на клиенте. Изменённые куки отклоняются компонентом request.