Laravel-쿠키

쿠키는 웹 애플리케이션에서 사용자의 세션을 처리하는 동안 중요한 역할을합니다. 이 장에서는 라 라벨 기반 웹 애플리케이션에서 쿠키 작업에 대해 배웁니다.

쿠키 생성

쿠키는 라 라벨의 글로벌 쿠키 도우미에서 생성 할 수 있습니다. 그것은의 인스턴스입니다Symfony\Component\HttpFoundation\Cookie. withCookie () 메소드를 사용하여 쿠키를 응답에 첨부 할 수 있습니다. 다음의 응답 인스턴스를 만듭니다.Illuminate\Http\ResponsewithCookie () 메서드를 호출하는 클래스입니다. Laravel에서 생성 된 쿠키는 암호화되고 서명되며 클라이언트가 수정하거나 읽을 수 없습니다.

다음은 설명이있는 샘플 코드입니다.

//Create a response instance
$response = new Illuminate\Http\Response('Hello World');

//Call the withCookie() method with the response method
$response->withCookie(cookie('name', 'value', $minutes));

//return the response
return $response;

Cookie () 메서드는 3 개의 인수를받습니다. 첫 번째 인수는 쿠키의 이름이고 두 번째 인수는 쿠키의 값이며 세 번째 인수는 쿠키가 자동으로 삭제 된 후 쿠키의 지속 시간입니다.

아래 코드와 같이 forever 메소드를 사용하여 쿠키를 영원히 설정할 수 있습니다.

$response->withCookie(cookie()->forever('name', 'value'));

쿠키 검색

쿠키를 설정하면 cookie () 메서드로 쿠키를 검색 할 수 있습니다. 이 cookie () 메서드는 쿠키의 이름이 될 인수를 하나만받습니다. 쿠키 메서드는 다음 인스턴스를 사용하여 호출 할 수 있습니다.Illuminate\Http\Request.

다음은 샘플 코드입니다.

//’name’ is the name of the cookie to retrieve the value of
$value = $request->cookie('name');

쿠키에 대한 자세한 내용은 다음 예를 참조하십시오.

Step 1 − 아래 명령을 실행하여 쿠키를 조작 할 컨트롤러를 생성합니다.

php artisan make:controller CookieController --plain

Step 2 − 성공적으로 실행하면 다음과 같은 출력이 표시됩니다.

Step 3 − 다음 코드를

app/Http/Controllers/CookieController.php 파일.

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;
   }
}

Step 4 − 다음 줄을 추가하십시오. app/Http/routes.php file.

app/Http/routes.php

Route::get('/cookie/set','CookieController@setCookie');
Route::get('/cookie/get','CookieController@getCookie');

Step 5 − 다음 URL을 방문하여 쿠키를 설정하십시오.

http://localhost:8000/cookie/set

Step 6− 아래와 같이 출력이 나타납니다. 스크린 샷에 나타나는 창은 파이어 폭스에서 가져온 것이지만 브라우저에 따라 쿠키 옵션에서 쿠키를 확인할 수도 있습니다.

Step 7 − 위 URL에서 쿠키를 받으려면 다음 URL을 방문하십시오.

http://localhost:8000/cookie/get

Step 8 − 다음 그림과 같이 출력이 나타납니다.