Session trong Laravel – w3seo sử dụng phiên trong Laravel Framework

Rate this post

Session Laravel là một cách lưu trữ thông tin người dùng qua nhiều yêu cầu của người dùng. Nó theo dõi tất cả những người dùng truy cập ứng dụng.

Các bài viết liên quan:

Chúng ta hãy hiểu Session thông qua một ví dụ.

Đầu tiên, chúng tôi tạo một biểu mẫu mà chúng tôi áp dụng các thuộc tính của Session.

form.blade.php

  • Bây giờ, chúng ta xác định hàm store () trong tệp FormController.php.

  • Cuối cùng, chúng tôi xác định tuyến đường trong web.php.

Đầu ra

Khi chúng ta nhấp vào nút gửi, sau đó màn hình xuất hiện như hình dưới đây:

Lưu trữ dữ liệu trong một Session

Để lưu trữ tên người dùng trong một Session, chúng tôi sử dụng phương thức put () của Session như hình dưới đây:

$ request-> session () -> put (‘user’, $ request-> input (‘username’));

Để truy xuất Session, chúng tôi sử dụng phương thức get () của Session như hình dưới đây:

echo $ request-> session () -> get (‘user’);

Đầu ra


Trình trợ giúp Session toàn cục

Chúng ta cũng có thể sử dụng hàm Session toàn cầu để lưu trữ và truy xuất giá trị trong một Session. Khi hàm Session được truyền với một tham số duy nhất, thì nó sẽ trả về giá trị của khóa. Nếu Session được chuyển với một mảng các cặp khóa / giá trị, thì các giá trị được lưu trữ trong Session.

// Lấy dữ liệu từ khóa Session.

$ data = session (‘key’);

// Cung cấp giá trị mặc định cho khóa Session.

$ data = session (‘key’, ‘default’);

// Lưu trữ giá trị trong khóa Session.

session ([‘key’ => ‘value’]);

Chúng ta hãy hiểu thông qua một ví dụ.

FormController.php

Đầu ra


Truy xuất tất cả dữ liệu của Session

Nếu chúng ta muốn truy xuất tất cả dữ liệu Session, thì chúng ta có thể sử dụng phương thức all () như hình dưới đây:

$ session_data = $ request-> session () -> all ();

Hãy hiểu qua một ví dụ:

FormController.php

Bây giờ, chúng tôi xác định tuyến đường trong tệp web.php.

Route :: get (‘/ show’, ‘FormController @ store’);

Đầu ra

Xóa Session

Bây giờ, chúng ta sẽ xem cách xóa dữ liệu khỏi Session. Chúng ta có thể xóa Session bằng cách sử dụng phương thức quên ().

Chúng ta hãy hiểu thông qua một ví dụ.

FormController.php

Đầu ra

Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng user1 không được hiển thị, do đó, điều đó có nghĩa là user1 đã bị xóa khỏi Session.

Để xóa tất cả dữ liệu khỏi Session, chúng ta sẽ sử dụng phương thức flush ().

$ request-> session () -> flush ();

Hãy hiểu phương thức flush () thông qua một ví dụ.

Đầu ra

Trong ảnh chụp màn hình ở trên, chúng ta thấy rằng tất cả dữ liệu đã bị xóa khỏi Session và nó trả về một mảng trống.

Dữ liệu nhấp nháy

Dữ liệu flash hữu ích khi chúng ta muốn lưu trữ dữ liệu trong Session cho yêu cầu hiện tại vì dữ liệu flash sẽ bị xóa trong yêu cầu tiếp theo.

Hãy hiểu dữ liệu nhấp nháy thông qua một ví dụ.

Đầu ra

Khi chúng ta xóa hàm flash () khỏi mã, thì mã sẽ trông giống như sau:

Khi chúng tôi làm mới trang hai lần, thì ở lần làm mới thứ hai, dữ liệu Session sẽ bị xóa.

Ghi chú:

Nếu bạn muốn giữ dữ liệu flash cho một số yêu cầu, thì chúng tôi sử dụng phương thức reflash ().

session () -> reflash ();

Nếu bạn muốn giữ dữ liệu cụ thể cho một số yêu cầu, thì chúng tôi sử dụng phương thức keep ().

$ request-> session () -> keep (‘message’);