1. What is session?
Session in English is the session. Yes, the session helps us save a user’s session. A session takes effect when you attach and lose when you delete or close the browser. Sessions are very useful for us to authenticate users so they are very useful for developers.
2. How to use the session in Laravel 6
2.1 Get the session
2.1.1 Obtained via Request
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php namespace AppHttpControllers; use AppHttpControllersController; use IlluminateHttpRequest; class UserController extends Controller { public function show(Request $request, $id) { $value = $request->session()->get('key'); } } //tạo session $request->session()->put('key', 'value'); |
If the session does not exist, how to handle it?
1 2 3 4 5 6 7 8 |
//Trả về giá trị mặc định $value = $request->session()->get('key', 'default'); //hoặc $value = $request->session()->get('key', function () { return 'default'; }); |
2.1.2 Taken through Session
1 2 3 4 5 6 7 8 9 10 11 |
Route::get('home', function () { // lấy dữ liệu của một key $value = session('key'); // lấy dữ liệu của một key, nếu không tồn tại sẽ trả về mặc định. $value = session('key', 'default'); // tạo session session(['key' => 'value']); }); |
2.1.3 Retrieve all Session data
$data = $request->session()->all();
2.1.4 Check for session availability
1 2 3 4 5 6 7 8 9 10 |
//không tính null if ($request->session()->has('users')) { // } //null cũng được nếu nó là giá trị của session được gán if ($request->session()->exists('users')) { // } |
2.1.5 Use once and then discard
1 2 3 |
//chỉ áp dụng cho 1 hành động tiếp theo $request->session()->flash('status', 'Task was successful!'); |
2.1.6 Delete session
1 2 3 4 5 6 7 8 9 |
// xóa một session $request->session()->forget('key'); // xóa nhiều session $request->session()->forget(['key1', 'key2']); // xóa tất cả session $request->session()->flush(); |
Conclude
So I have instructed you to use Session in laravel 6. I myself think that it is better to remember only one way of use than to remember many ways because they work similarly. Personally, I use Request to do everything with the session because it’s more convenient.