Від автора: файл Cookie можна створити з допомогою глобального хелперу Laravel cookie. Це екземпляр об’єкта Symfony\Component\HttpFoundation\Cookie. Файл cookie можна приєднати до відповіді за допомогою методу withCookie(). Створіть екземпляр відповіді класу Illuminate\Http\Response, щоб викликати метод withCookie(). Файл Cookie, створений Laravel, шифрується і підписується, він не може бути змінений або прочитаний клієнтом.
Нижче наводиться приклад коду з поясненнями.
//Створюємо екземпляр відповіді
$response = new Illuminate\Http\Response(‘Hello World’);
//Викликаємо метод withCookie() з методом відповіді
$response->withCookie(cookie(‘name’, ‘value’, $minutes));
//повертаємо відповідь
return $response;
Метод Cookie() приймає 3 аргументу. Перший аргумент — це ім’я файлу cookie, другий аргумент — це значення cookie, третій аргумент – термін дії файлу cookie, після якого він автоматично видаляється. Cookie можна встановити назавжди, з допомогою методу forever, як показано в наведеному нижче коді.
$response->withCookie(cookie()->forever(‘name’, ‘value’));
Витяг cookie
Після того як ми встановили файл cookie, ми можемо витягти його з допомогою методом cookie(). Цей метод приймає тільки один аргумент — ім’я файлу cookie. Метод cookie можна викликати, з допомогою примірника Illuminate\Http\Request. Нижче наведено приклад коду.
//’name’ – це ім’я файлу cookie, з якого ми отримуємо значення
$value = $request->cookie(‘name’);
Крок 1 — Виконайте наступну команду, щоб створити контролер, в якому ми будемо працювати з файлом cookie.
php artisan make:controller CookieController –plain
Крок 2 — Після виконання цієї команди ви отримаєте наступний результат:
Крок 3 — Скопіюйте наступний код у файл app/Http/Controllers/CookieController.php.
withCookie(cookie(‘name’, ‘virat’, $minutes));
return $response;
}
public function getCookie(Request $request){
$value = $request->cookie(‘name’);
echo $value;
}
}
Крок 4 — Додайте в файл app/Http/routes.php наступний рядок.
Route::get(‘/cookie/set’,’CookieController@setCookie’);
Route::get(‘/cookie/get’,’CookieController@getCookie’);
Крок 5. Перейдіть за наступним URL-адресою, щоб встановити файл cookie. http://localhost:8000/cookie/set
Крок 6 – В результаті ви повинні отримати наступне. На скріншоті показано відображення результату в браузері firefox, але в залежності від вашого браузера, куки можна перевірити за допомогою параметра cookie.
Крок 7 – Перейдіть за наступним URL-адресою, щоб отримати файл cookie з вищевказаного URL-адреси. http://localhost:8000/cookie/get
Крок 8 – В результаті ви повинні отримати наступне.