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');
Поддержать автора