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 − 다음 그림과 같이 출력이 나타납니다.