Laravel-세션

세션은 요청 전반에 걸쳐 사용자에 대한 정보를 저장하는 데 사용됩니다. 라 라벨은 다음과 같은 다양한 드라이버를 제공합니다.file, cookie, apc, array, Memcached, Redis,database세션 데이터를 처리합니다. 기본적으로 파일 드라이버는 가볍기 때문에 사용됩니다. 세션은 다음에 저장된 파일에서 구성 할 수 있습니다.config/session.php.

세션 데이터 액세스

세션 데이터에 액세스하려면 HTTP 요청을 통해 액세스 할 수있는 세션 인스턴스가 필요합니다. 인스턴스를 가져온 후에는get() 하나의 인수를받는 메소드, “key”, 세션 데이터를 가져옵니다.

$value = $request->session()->get('key');

당신이 사용할 수있는 all() 대신 모든 세션 데이터를 얻는 방법 get() 방법.

세션 데이터 저장

데이터는 다음을 사용하여 세션에 저장할 수 있습니다. put()방법. 그만큼put() 메서드는 두 개의 인수를받습니다. “key” 그리고 “value”.

$request->session()->put('key', 'value');

세션 데이터 삭제

그만큼 forget()메소드는 세션에서 항목을 삭제하는 데 사용됩니다. 이 방법은“key” 인수로.

$request->session()->forget('key');

사용하다 flush() 대신 방법 forget()모든 세션 데이터를 삭제하는 방법. 사용pull()세션에서 데이터를 검색하고 나중에 삭제하는 메소드. pull () 메서드는 또한key인수로. 차이점forget() 그리고 pull() 방법은 forget() 메서드는 세션의 값을 반환하지 않으며 pull() 메서드는이를 반환하고 세션에서 해당 값을 삭제합니다.

Step 1 −라는 컨트롤러 생성 SessionController 다음 명령을 실행하여.

php artisan make:controller SessionController --plain

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

Step 3 − 다음 코드를 파일에 복사하십시오.

app/Http/Controllers/SessionController.php.

app/Http/Controllers/SessionController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class SessionController extends Controller {
   public function accessSessionData(Request $request) {
      if($request->session()->has('my_name'))
         echo $request->session()->get('my_name');
      else
         echo 'No data in the session';
   }
   public function storeSessionData(Request $request) {
      $request->session()->put('my_name','Virat Gandhi');
      echo "Data has been added to session";
   }
   public function deleteSessionData(Request $request) {
      $request->session()->forget('my_name');
      echo "Data has been removed from session.";
   }
}

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

app/Http/routes.php

Route::get('session/get','SessionController@accessSessionData');
Route::get('session/set','SessionController@storeSessionData');
Route::get('session/remove','SessionController@deleteSessionData');

Step 5 − 다음 URL을 방문하여 set data in session.

http://localhost:8000/session/set

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

Step 7 − 다음 URL을 방문하여 get data from session.

http://localhost:8000/session/get

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

Step 9 − 다음 URL을 방문하여 remove session data.

http://localhost:8000/session/remove

Step 10 − 다음 이미지와 같은 메시지가 표시됩니다.