Laravel – Session

0
6

Sessions được sử dụng để lưu trữ thông tin về người dùng trên các requests. Laravel cung cấp nhiều trình điều khiển khác nhau như file, cookie, apc, array, Memcached, Redis,database để xử lý dữ liệu phiên. Theo mặc định, trình điều khiển tệp được sử dụng vì nó nhẹ. Sessions có thể được cấu hình trong tệp được lưu trữ tại config / session.php.

Accessing Session Data

Để truy cập dữ liệu phiên, chúng tôi cần một Session có thể được truy cập thông qua yêu cầu HTTP. Sau khi nhận được phiên bản, chúng ta có thể sử dụng phương thức get (), phương thức này sẽ sử dụng một đối số, “key”, để lấy dữ liệu phiên.

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

Bạn có thể sử dụng phương thức all () để lấy tất cả dữ liệu phiên thay vì phương thức get ().

Storing Session Data

Dữ liệu có thể được lưu trữ trong phiên sử dụng phương thức put (). Phương thức put () sẽ nhận hai đối số, “key”“value”.

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

Deleting Session Data

Phương thức forget() được sử dụng để xóa một mục khỏi phiên. Phương thức này sẽ lấy “key” làm đối số.

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

Sử dụng phương thức flush () thay vì phương thức forget() để xóa tất cả dữ liệu session. Sử dụng phương thức pull () để lấy dữ liệu từ phiên và xóa nó sau đó. Phương thức pull () cũng sẽ lấy khóa làm đối số. Sự khác biệt giữa phương thức forget()pull () là phương thức forget() sẽ không trả về giá trị của session và phương thức pull () sẽ trả về và xóa giá trị đó khỏi session.

VI Du:

Bước 1 – Tạo một controller có tên SessionController bằng cách thực hiện lệnh sau.

php artisan make:controller SessionController --plain

Bước 2 – Sao chép mã sau vào tệp tại 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.";
   }
}

Bước 3 – Thêm các dòng sau vào tệp app / Http / route.php.

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

Bước 4 – Truy cập URL sau để thiết lập dữ liệu trong Session

http://localhost:8000/session/set

Bước 5 – Truy cập URL sau để lấy dữ liệu từ Session

http://localhost:8000/session/get

Bước 6 – Truy cập URL sau để xóa dữ liệu Session

http://localhost:8000/session/remove

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây