Session theo tiếng anh là phiên. Đúng vậy session giúp chúng ta lưu lại một phiên làm việc của người dùng. Một phiên có hiệu lực khi bạn gắn và mất khi bạn xóa đi hoặc đóng trình duyệt. Phiên rất hữu ích cho chúng ta để xác thực người dùng vì vậy chúng rất hữu ích cho các developer.
Mình đã có một bài viết rất chi tiết về Request này, bạn xem tại Request trong Laravel.
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class UserController extends Controller { public function show(Request $request, $id) { $value = $request->session()->get('key'); // } } //tạo session $request->session()->put('key', 'value');
Nếu Session không tồn tại thì xử lý như thế nào?
//Trả về giá trị mặc định $value = $request->session()->get('key', 'default'); $value = $request->session()->get('key', function () { return 'default'; });
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']); });
$data = $request->session()->all();
//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')) { // }
//chỉ áp dụng cho 1 hành động tiếp theo $request->session()->flash('status', 'Task was successful!');
// 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();
Như vậy mình đã hướng dẫn các bạn sử dụng Session trong laravel 6. Bản thân mình nghĩ chỉ nên nhớ một cách sử dụng thôi thì tốt hơn là nhớ nhiều cách vì chúng làm việc cũng tương tự nhau. Bản thân mình thì sử dụng Request để làm mọi thứ với session vì nó tiện hơn. Bài viết sau mình sẽ hướng dẫn các bạn Validate trong Laravel.