Laravel — файли Cookie

349

Від автора: файл 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 — Після виконання цієї команди ви отримаєте наступний результат:

Laravel — файли Cookie

Крок 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.

Laravel — файли Cookie

Крок 7 – Перейдіть за наступним URL-адресою, щоб отримати файл cookie з вищевказаного URL-адреси. http://localhost:8000/cookie/get

Крок 8 – В результаті ви повинні отримати наступне.

Laravel — файли Cookie