Laravel 5.7 dump server

Laravel 5.7 dump server

Laravel 5.7 tích hợp thêm dump-server, 1 tính năng mới từ Symfony 4.1. Giải thích một cách đơn giản thì bình thường bạn sẽ dùng lệnh dump() để hiển thị giá trị của 1 biến trên browser. Điều này có thể sẽ gây phiền phức cho bạn khi kiểm tra các giá trị của biến bạn muốn xem và các output khác trên browser, nên một số lập trình viên có thói quen dùng dd() để chương trình của bạn dừng ngày sau lệnh dump() và các hiển thị khác sẽ không hiện trên browser.

Dump-Server sẽ tạo ra 1 server khác song song với server web của bạn để ghi nhận tất cả các giá trị từ dump() mà không làm ảnh hưởng tới các giá trị hiển thị trên web browser, điều này sẽ giúp bạn thuận tiện hơn khi có thể tách riêng được các giá trị bạn muốn debug trên terminal và hiển thị của màn hình trên browser giúp bạn dễ dàng kiểm tra kết quả hơn.

Một trong những điểm mình không được thích cho lắm khi dùng Laravel các phiên bản trước đây chính là điểm này, đã dùng built-in server của php rồi nhưng app chạy như thế nào thì hầu như không rõ lắm, khác với Ruby on Rails, khi chạy built-in server thì hầu như những thông tin muốn debug đều có thể xem trực tiếp trên terminal.

Để thử tính năng mới này, ngoài việc chạy built-in server để serve request từ browser bằng lệnh php artisan server, bạn cần bật thêm 1 tab nữa trên terminal và chạy lệnh php artisan dump-server để khởi động dump server.

Bạn thử thêm dump() vào file routes/web.php như bên dưới:

Route::get('/', function () {
    dump(request()->all());
    return view('welcome');
});

khi request vào http://localhost:8000/ bạn sẽ thấy thay vì hiển thị giá trị trả về của dump() trên browser, giá trị trả về của dump() sẽ hiển thị trên terminal như hình dưới, còn hiển thị của web sẽ không khác gì khi không có lệnh dump().

Ở phương diện nào đó thì việc này sẽ khá tiện cho bạn khi debug, tuy nhiên mình thì không thích debug bằng việc sẽ viết test case trước và viết xử lý sau để giảm thiểu thời gian debug.

P/s:
Nếu có vẫn gặp vướng mắc trong khi thực hành hoặc có bất kì thắc mắc về PHP, Laravel hay muốn tìm hiểu thêm các thông tin hữu ích, các bạn hãy tham gia group Laravel VietNam để được các admin và thành viên support trực tiếp vấn đề mà bạn gặp phải nhé.