Khi xây dựng các ứng dụng web Laravel, gần như không thể tránh khỏi các lỗi. Nếu lỗi chỉ là gõ sai hoặc thiếu dấu chấm phẩy thì bạn sẽ sửa dễ dàng, nhưng nếu lỗi là lỗi logic thì bạn sẽ mất nhiều thời gian hơn để sửa. Để khám phá lý do gây ra lỗi, bạn có thể cần kết xuất một truy vấn SQL đầy đủ để phát hiện chính xác lý do. Trong hướng dẫn này, tôi sẽ hướng dẫn bạn một số cách đơn giản để hiển thị nhật ký Truy vấn SQL trong Laravel
Giải pháp 1. Chụp truy vấn SQL Đăng nhập nhà cung cấp dịch vụ ứng dụng
Chuyển đến ứng dụng/Nhà cung cấp/AppServiceProvider. php và thêm đoạn mã sau
public function boot[] { /*........add this code to bottom boot function........*/ if [env['APP_ENV'] !== 'production'] { DB::connection[]->enableQueryLog[]; Event::listen['kernel.handled', function [$request, $response] { if [ $request->has['debug'] ] { $queries = DB::getQueryLog[]; $formattedQueries = []; foreach[ $queries as $query ] : $prep = $query['query']; foreach[ $query['bindings'] as $binding ] : $prep = preg_replace["#\?#", is_numeric[$binding] ? $binding : "'" . $binding . "'", $prep, 1]; endforeach; $formattedQueries[] = $this->removeLineBreaks[$prep]; endforeach; dd[$formattedQueries]; } }]; } } } function removeLineBreaks[string $item]{ return str_replace[["\r\n", "\r", "\n"], ' ', $item]; }
Khi bạn chạy ứng dụng web Laravel trong môi trường phát triển và thêm tham số GET debug=1 vào cuối url, Laravel sẽ lắng nghe Nhật ký truy vấn và thay thế dấu hỏi ký tự đại diện ràng buộc bằng giá trị tương ứng. Và cuối cùng, chúng tôi sẽ thu thập một mảng chứa tất cả truy vấn SQL được thực thi bởi ứng dụng web như thế này
Giải pháp 2. Sử dụng thanh gỡ lỗi Laravel
Laravel Debugbar thêm một thanh nhỏ ở cuối trình duyệt với thông tin gỡ lỗi [e. g số lượng truy vấn]. Với Eloquent, có thể dễ dàng thực hiện các yêu cầu cơ sở dữ liệu không cần thiết, do đó, Debugbar giúp xác định mã không hoạt động. Nó hiển thị cái này ngay bên cạnh bảng điều khiển dành cho nhà phát triển ở cuối trình duyệt
Cài đặt thanh gỡ lỗi Laravel
Trong dự án Laravel 5 của bạn yêu cầu gói
composer require barryvdh/laravel-debugbar
Tiếp theo mở cấu hình/ứng dụng. php và bên trong mảng 'nhà cung cấp' thêm
'Barryvdh\Debugbar\ServiceProvider',
Cuối cùng, nếu bạn muốn thêm các mặt tiền, hãy thêm phần này vào mảng 'bí danh'
'Debugbar' => 'Barryvdh\Debugbar\Facade',
Việc có một số bộ sưu tập hữu ích có thể giúp bạn tăng tốc độ phát triển
- Trình thu thập truy vấn. Hiển thị tất cả các truy vấn, bao gồm ràng buộc + thời gian
- Tuyến đườngCollector. Hiển thị thông tin về Tuyến đường hiện tại
- XemCollector. Hiển thị các chế độ xem hiện được tải. [Tùy chọn. hiển thị dữ liệu được chia sẻ]
- Sự kiệnCollector. Hiển thị tất cả các sự kiện
Ngoài các bộ sưu tập cốt lõi, nó bao gồm một loạt các bộ sưu tập hữu ích mà bạn có thể tùy chọn kích hoạt
- LaravelCollector. Hiển thị phiên bản Laravel và Môi trường. [bị tắt theo mặc định]
- Trình thu thập yêu cầu Symfony. thay thế RequestCollector bằng nhiều thông tin hơn về yêu cầu/phản hồi
- Nhật ký Collector. Hiển thị các mục nhật ký mới nhất từ nhật ký lưu trữ. [bị tắt theo mặc định]
- Tập tin Collector. Hiển thị các tệp được bao gồm/yêu cầu bởi PHP. [bị tắt theo mặc định]
- Bộ sưu tập cấu hình. Hiển thị các giá trị từ các tập tin cấu hình. [bị tắt theo mặc định]
- Bộ nhớ cache. Hiển thị tất cả các sự kiện bộ đệm. [bị tắt theo mặc định]
Bạn có thể tìm hiểu thêm về gói này, xem hướng dẫn cài đặt đầy đủ tại barryvdh/laravel-debugbar
Một vấn đề thường gặp đối với lập trình viên đó là việc gặp lỗi và sửa lỗi. Riêng việc fix bug thì tất nhiên là chẳng bao giờ dễ dàng chút nào và debug là phương án tốt nhất để giúp bạn kiểm tra và fix những lỗi trong code của bạn. hôm nay mình xin giới thiệu với các bạn công cụ debug là Laravel Debugbar, một công cụ debug hiệu quả và tiện lợi
Laravel Debugbar là một gói được xây dựng bởi Barry vd. Heuvel, cho phép bạn gỡ lỗi nhanh chóng và dễ dàng ngay khi đang bật cửa sổ duyệt web. Sau khi cài đặt Laravel Debugbar, vào mỗi trang web ta sẽ thấy có một thanh công cụ ở phía dưới cùng, nó chứa rất nhiều thông tin hữu ích cho việc kiểm tra lỗi ứng dụng
Laravel Debugbar đã được cập nhật cho Laravel 5 với các tính năng nổi bật như
- Bộ sưu tập truy vấn. Hiện tất cả các câu truy vấn đến cơ sở dữ liệu
- Tuyến đườngCollector. Show the current information of route at
- XemCollector. Hiển thị những lượt xem được tải lên trong lúc đó
- Sự kiệnCollector. Show all the event
- LaravelCollector. Cho ta biết phiên bản của Laravel và môi trường phát triển ứng dụng
- Bộ sưu tập cấu hình. Show the values from file config
2. Cài đặt Laravel Debugbar
Ta có thể cài đặt Laravel Debugbar vào project Laravel thông qua composer
composer require barryvdh/laravel-debugbar --dev
Tiếp theo mở tệp config/app. php trong mảng nhà cung cấp bổ sung
Barryvdh\Debugbar\ServiceProvider::class,
Tiếp theo nếu muốn thêm Mặt tiền, trong mảng bí danh thêm
'Debugbar' => Barryvdh\Debugbar\Facades\Debugbar::class,
Cấu hình tệp công khai bằng lệnh
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
Như vậy là đã hoàn thành các bước cài đặt, giờ mỗi khi bạn chạy dự án trong chế độ gỡ lỗi, thanh gỡ lỗi sẽ tự động tải và hiển thị các thông số về trang bạn đang xem
3. Tìm hiểu về Debugbar
Sau khi cài đặt thành công, ta có thể sử dụng tất cả các tính năng mặc định của DebugBar
tin nhắn
Đặc biệt, một tab chỉ được tải khi bạn gọi Facade Debugbar trong mã của bạn
________số 8Ní Phạm @nipham
Theo dõi
12 0 1
Đã đăng vào ngày 11 tháng 27 năm 2021 9. 30 CH 4 phút đọc
349
0
0
Thanh gỡ lỗi Laravel- Report
- Add to series of me
1. Giới thiệu
Một vấn đề thường gặp đối với lập trình viên đó là việc gặp lỗi và sửa lỗi. Riêng việc fix bug thì tất nhiên là chẳng bao giờ dễ dàng chút nào và debug là phương án tốt nhất để giúp bạn kiểm tra và fix những lỗi trong code của bạn. hôm nay mình xin giới thiệu với các bạn công cụ debug là Laravel Debugbar, một công cụ debug hiệu quả và tiện lợi
Laravel Debugbar là một gói được xây dựng bởi Barry vd. Heuvel, cho phép bạn gỡ lỗi nhanh chóng và dễ dàng ngay khi đang bật cửa sổ duyệt web. Sau khi cài đặt Laravel Debugbar, vào mỗi trang web ta sẽ thấy có một thanh công cụ ở phía dưới cùng, nó chứa rất nhiều thông tin hữu ích cho việc kiểm tra lỗi ứng dụng
Laravel Debugbar đã được cập nhật cho Laravel 5 với các tính năng nổi bật như
- Bộ sưu tập truy vấn. Hiện tất cả các câu truy vấn đến cơ sở dữ liệu
- Tuyến đườngCollector. Show the current information of route at
- XemCollector. Hiển thị những lượt xem được tải lên trong lúc đó
- Sự kiệnCollector. Show all the event
- LaravelCollector. Cho ta biết phiên bản của Laravel và môi trường phát triển ứng dụng
- Bộ sưu tập cấu hình. Show the values from file config
2. Cài đặt Laravel Debugbar
Ta có thể cài đặt Laravel Debugbar vào project Laravel thông qua composer
composer require barryvdh/laravel-debugbar --dev
Tiếp theo mở tệp config/app. php trong mảng nhà cung cấp bổ sung
Barryvdh\Debugbar\ServiceProvider::class,
Tiếp theo nếu muốn thêm Mặt tiền, trong mảng bí danh thêm
'Debugbar' => Barryvdh\Debugbar\Facades\Debugbar::class,
Cấu hình tệp công khai bằng lệnh
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
Như vậy là đã hoàn thành các bước cài đặt, giờ mỗi khi bạn chạy dự án trong chế độ gỡ lỗi, thanh gỡ lỗi sẽ tự động tải và hiển thị các thông số về trang bạn đang xem
3. Tìm hiểu về Debugbar
Sau khi cài đặt thành công, ta có thể sử dụng tất cả các tính năng mặc định của DebugBar
tin nhắn
Đặc biệt, một tab chỉ được tải khi bạn gọi Facade Debugbar trong mã của bạn
________số 8Mốc thời gian
Công cụ hoàn hảo giúp ta chỉnh sửa các đoạn mã chạy chậm, tốn nhiều thời gian xử lý
composer require barryvdh/laravel-debugbar4
ngoại lệ
Một tab lưu các ngoại lệ nhật ký. Bạn có thể đăng nhập lại một ngoại lệ vào thanh gỡ lỗi bằng cách sử dụng đoạn mã giống như sau
composer require barryvdh/laravel-debugbar5
Lượt xem
Tab sẽ hiển thị tất cả những gì mà mẫu hiển thị cũng như tất cả các tham số được truyền vào chúng. Nó thực sự tiện dụng cho việc phát triển ứng dụng. Với quan điểm này, ta có thể chắc chắn rằng những gì ta truyền sang có chính xác là những gì mẫu đang cần. Ngoài ra xem còn nhiều trường hợp sử dụng khác
Tuyến đường
Bạn có thể xem mọi thứ liên quan đến tuyến đường đã được gọi, từ URI, phần mềm trung gian, bộ điều khiển, không gian tên, đến tệp đường dẫn. Điều này giúp bạn kiểm tra dễ dàng hơn đường đi của một yêu cầu.
Truy vấn
Các câu hỏi là một trong những phần quan trọng của ứng dụng web. Các truy vấn tab sẽ hiển thị cho bạn tất cả các truy vấn đã được sử dụng để hiển thị nên trang web bạn đang xem. Điều này giúp bạn có cái nhìn trực quan hơn về những câu hỏi mà bạn sử dụng và giúp bạn chỉnh sửa một cách dễ dàng hơn.
Thư và Yêu cầu
Hai tab này bao gồm các thông tin bạn cần biết về việc gửi email đi và các yêu cầu hiện tại
4. Tổng kết
Trong bài này mình chỉ ra các tính năng cơ bản mà Laravel Debugbar mang lại. Bạn có thể tự trải nghiệm và khám phá thêm các tính năng của Laravel Debugbar. Ngoài ra, nếu bạn muốn tìm hiểu kỹ hơn, bạn có thể truy cập trang tài liệu của Laravel Debugbar