12. Chuyển hướng với flash session (Redirecting with flash session)(ok)

https://viblo.asia/p/tap-17-response-laravel-aWj534RGK6m

Redirect đến một URL mới và flash session thường được thực hiện cùng một lúc. Chẳng hạn bây giờ mình đăng ký hai route như sau:

Route::get('/', function() {
    return redirect('home')->with('name', 'Lê Chí Huy');
}); 

Route::get('/home', function() {
    return view('home');
});

Tại action của route /, ta thực thi chuyển hướng đến URI /home, đồng thời thực hiện flash session với method with. Sau khi chuyển hướng thì flash session data được thiết lập, lúc này bạn chỉ cần lấy nó ra và sử dụng thôi. Mình sẽ tạo blade view home với nội dung sau:

<h1>
    @if (session('name'))
        Welcome, {{ session('name') }}
    @else
        Welcome
    @endif
</h1>

Như ở trên thì mình thực kiện câu điều kiện để kiểm tra xem có tồn tại flash session với tên là name hay không thông qua method session. Để render cái flash session name thì mình cũng sử dụng global helper session với tham số là tên của flash session cần lấy. Từ đó bạn có thể rút ra được nếu không tồn tại flash session thì method session sẽ trả về false.

Bây giờ chúng ta test xem nó đã hoạt động OK chưa. Như xử lý logic ở trên thì nếu vào đường dẫn http://localhost:8000/home thông qua redirect thì nó sẽ in ra màn hình như thế này:

Còn nếu vào URL http://localhost:8000/home trực tiếp thì ta sẽ được kết quả:

Last updated