Cookie

Cookie — переменные, которые сохраняются в браузере посетителя на указанное время.

// создание Cookie на 1 день
$cookie = new \yii\web\Cookie([
    'name' => 'framework',
    'value' => 'Yii',
    'expire' => 86400, // время активности Cookie в секундах (по умолчанию «0»)
]);

Yii::$app->response->cookies->add($cookie);

Если не указать параметр expire, то Cookie будет активен до закрытия браузера.

Выводятся Cookie через следующий код:

// список всех Cookie
Yii::$app->request->cookies;

// получить указанную Cookie (если нет, выводить Yii)
Yii::$app->request->cookies->getValue('framework', 'Yii');

По умолчанию, Cookie сохраняются с параметром httpOnly как true. Это означает, что доступ к Cookie будет только с сервера, т.е. через клиент, например JavaScript, получить Cookie не получится.

Создать Cookie на указанной странице

Созданные Cookie доступны на всех страницах. Создать Cookie только на указанной странице можно через параметр path.

$cookie = new \yii\web\Cookie([
    'name' => 'framework',
    'value' => 'Yii',
    'path' => 'page/contacts'
]);

Проверить Cookie на существование

Проверить Cookie на существование можно через метод Yii::$app->request->cookies->has().

Yii::$app->request->cookies->has('framework'); // true
Yii::$app->request->cookies->has('missed');    // false

Удалить Cookie

Удалить Cookie можно через метод Yii::$app->response->cookies->remove().

Yii::$app->response->cookies->remove('framework');