Laravel 20 :Tìm hiểu về session trong laravel

0
1298

Session Là Gì?

Session là một khái niệm phổ biến được dùng trong lập trình các website có kết nối với cơ sở dữ liệu database. Đặc biệt các chức năng như đăng nhập, đăng xuất người dùng sẽ khó có thể thực hiện được nếu không sử dụng session. Trong bài viết này tôi sẽ giải thích một cách đơn giản nhất để các bạn có thể hiểu được Session là gì và sử dụng session trong khi lập trình web như thế nào. Trước tiên chúng ta cùng tìm hiểu lý do tại sao session được ra đời.

Tại Sao Cần Dùng Session

Việc giao tiếp giữa trình duyệt với máy chủ của website (hay webserver) được thực hiện thông qua hàng loạt các router trên mạng internet. Một vấn đề đặt ra trong quá trình giao tiếp này đó là làm sao để phân được giữa cá trình duyệt (máy tính) khác nhau. Ví dụ như bạn truy cập một trang bán hàng thì máy chủ cần:

  • Phân biệt được các máy tính (trình duyệt) khác nhau: nói cách khác máy chủ cần phân biệt được trong những lượt truy cập gửi tới máy chủ thì đâu là từ máy tính bạn và đâu là của người khác
  • Lưu thông tin của giỏ hàng: ví dụ như thông tin về số lượng hàng hoá bạn đã thêm vào giỏ hàng

Và để giải quyết vấn đề trên khái niệm session được ra đời.

Để lưu dữ liệu session chúng ta có 2 cách:

  • Lưu dữ liệu session sử dụng file (Tồn tại trong thời gian quy định)
  • Lưu dữ liệu theo kiểu flash (Tồn tại 1 lần duy nhất và biến mất khi ta sử dụng lần đầu)

Cách sử dụng session

Cái này mình Tóm gọi lại cho dễ hiểu nhé!

chúng ta có thể sử dụng code session ở controller,route. và có thể gọi nó ở middleware

Code Chức năng
session()->put(‘Tên session’,’Giá trị)’); Khai báo session dạng file
session()->flash(‘Tên session’,’Giá trị)’); Tạo session dạng flash
session(‘Tên session’); Lấy dữ liệu từ 1 session
session()->has(‘Tên session’); Kiểm tra 1 session có tồn tại không
session()->forget(‘Tên session’); xoá bỏ 1 session theo tên
session()->flush(); Xoá toàn bộ session
  • Khi ta tạo 1 session nó sẽ tồn tại ở mọi nơi và chúng ta có thể lấy giá trị trong session ở bất kỳ đâu nhé . (Tắt trình duyệt cũng không bị mất session nhé! )
  • Có thể config thời gian tồn tại của session và thiết lập tắt trình duyệt sẽ biến mất ở dưới nhé!

Config session

Từ project chúng ta vào config/session.php nhé

Nhìn dùng 34 có đoạn code sau:

Chúc mọi người học tập tốt

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