Home Tutorial Laravel Laravel – Bài 9: Cookie

Laravel – Bài 9: Cookie

7 min read
0
152

Cookie đóng một vai trò quan trọng trong khi xử lý phiên của người dùng trên ứng dụng web. Trong chương này, bạn sẽ tìm hiểu về cách làm việc với cookie trong các ứng dụng web dựa trên Laravel.

Tạo Cookie

Cookie có thể được tạo bởi trình trợ giúp cookie toàn cầu của Laravel. Cookie có thể được đính kèm vào phản hồi bằng phương thức withCookie(). Tạo một thể hiện phản hồi của lớp Illuminate\Http\Response để gọi phương thức withCookie(). Cookie do Laravel tạo ra được mã hóa và ký tên và khách hàng không thể sửa đổi hoặc đọc nó.

Đây là một mã mẫu với lời giải thích.

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

Phương thức Cookie() sẽ nhận 3 đối số. Đối số đầu tiên là tên của cookie, đối số thứ hai là giá trị của cookie và đối số thứ ba là thời lượng của cookie mà sau đó cookie sẽ tự động bị xóa.

Cookie có thể được đặt mãi mãi bằng cách sử dụng phương pháp mãi mãi như trong đoạn mã dưới đây.

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

Truy xuất Cookie

Sau khi đặt cookie, chúng ta có thể truy xuất cookie bằng phương thức cookie(). Phương thức cookie() này sẽ chỉ nhận một đối số là tên của cookie. Có thể gọi phương thức cookie bằng cách sử dụng ví dụ Illuminate\Http\Request .

Đây là một mã mẫu.

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

Thí dụ

Quan sát ví dụ sau để hiểu thêm về Cookies −

Bước 1 – Thực hiện lệnh bên dưới để tạo bộ điều khiển trong đó chúng ta sẽ thao tác với cookie.

php artisan make:controller CookieController --plain

Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được đầu ra sau –

Trình điều khiển cookie

Bước 3 – Sao chép đoạn mã sau vào

tệp 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;
   }
}

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

app/Http/routes.php

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

Bước 5 – Truy cập URL sau để đặt cookie.

http://localhost:8000/cookie/set

Bước 6 – Đầu ra sẽ xuất hiện như hình bên dưới. Cửa sổ xuất hiện trong ảnh chụp màn hình được lấy từ firefox nhưng tùy thuộc vào trình duyệt của bạn, cookie cũng có thể được kiểm tra từ tùy chọn cookie.

Chào thế giới

Bước 7 – Truy cập URL sau để lấy cookie từ URL trên.

http://localhost:8000/cookie/get

Bước 8 – Đầu ra sẽ xuất hiện như trong hình dưới đây.

virat

Load More Related Articles
Load More By quangvu
  • Laravel – Bài 11: Error Handling

    Hầu hết các ứng dụng web đều có cơ chế cụ thể để xử lý lỗi. Bằng cách sử dụng chúng, họ th…
  • Laravel – Bài 16 Authentication (xác thực)

    Xác thực là quá trình xác định thông tin đăng nhập của người dùng. Trong các ứng dụng web,…
  • Laravel – Bài 15: Session

    Session được sử dụng để lưu trữ thông tin về người dùng trong các yêu cầu. Laravel cung cấ…
Load More In Laravel

Check Also

Tự làm web chatGPT đơn giản cho phép dùng nhiều OpenAI key

Trong thời đại công nghệ phát triển như hiện nay, chatbot đang dần trở thành một giải pháp…