5. Sử dụng session Kiểm tra một session có tồn tại (Checking if a session exist) (Using the session)

https://viblo.asia/p/tap-19-session-laravel-m68Z0xmAZkG

Để kiểm tra sự tồn tại của một session, ta có thể sử dụng method has có trong lớp khởi tạo Illuminate\Http\Request. Method has sẽ trả về true nếu session tồn tại và có giá trị không phải là null.

Chẳng hạn mình đăng ký route sau:

use Illuminate\Http\Request;

Route::get('/session', function(Request $request) {
    dd($request->session()->has('foo'));
});

Do chúng ta chưa lưu trữ session nào có key là foo cả, nên kết quả sẽ là false.

Giờ các bạn thử lưu trữ session foo này nhưng với giá trị là null xem sao.

use Illuminate\Http\Request;

Route::get('/session', function(Request $request) {
    $request->session()->put('foo', null);
    
    dd($request->session()->has('foo'));
});

Vâng, kết quả thu được vẫn sẽ là false.

Nếu bạn chỉ muốn kiểm tra xem session có tồn tại hay không, dù có giá trị null vẫn chấp nhận thì bạn có thể sử dụng method exists thay cho has.

use Illuminate\Http\Request;

Route::get('/session', function(Request $request) {
    $request->session()->put('foo', null);
    
    dd($request->session()->exists('foo'));
});

Lúc này kết quả ta nhận được sẽ là true.

Last updated