Làm thứ làm cho Laravel Request của bạn thú vị hơn

Laravel Flash Session – trả về thông báo cho users

Hi các bạn,

Đôi khi trong cuộc sống, ta muốn redirect người dùng qua 1 trang nào đó kèm theo 1 đoạn message để thông báo như thông báo thành công, thất bại, lỗi,… blah blah.

Tất nhiên cách làm thì nhiều, nhưng Laravel nó có đi kèm 1 cái gọi là Laravel Flash Session rất tiện để chúng ta làm điều này.

Chúng ta đi tìm hiểu 1 chút về Laravel Flash Session nhé.

1/ Laravel Flash Session là gì?

Flash Session là 1 dạng session mà cái thời gian sống của nó rất thấp, phù hợp cho những status message. Session này nó chỉ available cho cái request tiếp theo. Tiếp nữa là hổng còn.

=> Dùng để chứa thông báo là nhất rồi.

2/ Cách sử dụng cơ bản

Cách cơ bản nhất là set vào trong cái Request luôn trong Controller như sau:

$request->session()->flash('status', 'Task was successful!');

Ngoài ra, bạn cũng có thể set cho redirect thông qua method with:

return redirect()->with('key', 'info...');

Và ở để access vào được data đó, ta sẽ dùng hàm session như sau:

{{ session('key') }}

Kiểm tra coi có tồn tại ko:

@if (session('key'))
// tồn tại thì hiện gì đó blah blah....
@endif

3/ Kết hợp Laravel Flash Session với Bootstrap để hiện thông báo

Như các bạn đã biết, Bootstrap có cái feature hay là alert message box, tha hồ sử dụng dành cho vụ này nhé.

Code cho view sẽ như sau (chỉ có success, error trước nhé, bạn muốn thêm status thì dựa trên code này mà follow nhé):

@if (session('error'))
    <div class="alert alert-danger" role="alert">
            {{ session('error') }}
    </div>
@endif

@if (session('success'))
    <div class="alert alert-success" role="alert">
        {{ session('success') }}
    </div>
@endif

Bên controller, ta chỉ cần flash vào thông báo cần muốn, ví dụ:

// return lỗi nak
return redirect()->route('indexPage')->with('error', __('event.mess.not_found'));

// return success nàk
return redirect()->route('eventPage')->with('success', 'Thao tác thành công');

Test và sử dụng thoy 😀

4/ Kết luận về Laravel Flash Session

Với cái Flash Session khá hay này từ Laravel, bạn tha hồ có thể trả thông báo vềcho users rồi nhé 😀

Thank you for reading!

Tìm hiểu thêm về Flash Session tại: https://laravel.com/docs/5.8/session#flash-data

Học Laravel tại blog Seth Phát: https://sethphat.com/sp-category/lap-trinh/laravel-5-php

#Laravel: Trả về thông báo cho người dùng

#Laravel sử dụng Flash Session

#Học Laravel 5 cơ bản và đơn giản

facebook
Seth Phát

Seth Phát

Mình là Phát - biệt danh Seth Phát. Hiện đang là một Sr. Full-Stack Engineer. Mình là một người yêu thích và đam mê lập trình và hiện tại đang theo về phần Web là chủ yếu. Mạnh Back-end và khá Front-end, vẫn đang theo đều cả 2 :v. Còn gì bằng khi được làm những thứ mà mình yêu thích, đam mê ;)

Leave a Reply

Your email address will not be published. Required fields are marked *

Bình luận qua Facebook