Laravel — файлы Cookie

Laravel — файлы Cookie

От автора: файл 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.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее
php artisan make:controller CookieController --plain

Шаг 2 — После выполнения этой команды вы получите следующий результат:

Laravel — файлы Cookie

Шаг 3 — Скопируйте следующий код в файл app/Http/Controllers/CookieController.php.

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Requests;
use App\Http\Controllers\Controller;
 
class CookieController extends Controller {
  public function setCookie(Request $request){
 $minutes = 1;
 $response = new Response('Hello World');
 $response->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 можно проверить с помощью параметра cookie.

Laravel — файлы Cookie

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

Шаг 8 – В результате вы должны получить следующее.

Laravel — файлы Cookie

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Фреймворк Laravel: теория и первая практика

Овладейте азами фреймворка Laravel!

Получить

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree