$cookies = Yii::$app->response->cookies;
$cookies->add(new Cookie([
'name' => 'test',
'value' => 'test',
]));
$cookies = Yii::$app->response->cookies;
$cookies->add(new Cookie([
'name' => 'test',
'value' => 'test',
]));
// получение коллекции кук (yii\web\CookieCollection) из компонента "request"
$cookies = Yii::$app->request->cookies;
// получение куки с названием "language. Если кука не существует, "en" будет возвращено как значение по-умолчанию.
$language = $cookies->getValue('language', 'en');
// альтернативный способ получения куки "language"
if (($cookie = $cookies->get('language')) !== null) {
$language = $cookie->value;
}
// теперь переменную $cookies можно использовать как массив
if (isset($cookies['language'])) {
$language = $cookies['language']->value;
}
// проверка на существование куки "language"
if ($cookies->has('language')) ...
if (isset($cookies['language'])) ...
Отправка кук
Отправить куку конечному пользователю можно следующим образом:
// получение коллекции (yii\web\CookieCollection) из компонента "response"
$cookies = Yii::$app->response->cookies;
// добавление новой куки в HTTP-ответ
$cookies->add(new \yii\web\Cookie([
'name' => 'language',
'value' => 'zh-CN',
]));
// удаление куки...
$cookies->remove('language');
// ...что эквивалентно следующему:
unset($cookies['language']);