Làm cách nào để lấy thanh gỡ lỗi trong Laravel?

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ố 8

Ní 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ố 8

Mố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-debugbar
4

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-debugbar
5

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

Làm cách nào để thêm thanh gỡ lỗi trong laravel?

Vì Laravel sử dụng Package Discovery nên không yêu cầu bạn thêm ServiceProvider theo cách thủ công. APP_DEBUG đúng sẽ kích hoạt thanh gỡ lỗi . Cập nhật APP_DEBUG là sai để tắt.

Làm cách nào để bật thanh gỡ lỗi laravel?

Laravel sử dụng Package Auto-Discovery, do đó không yêu cầu bạn thêm ServiceProvider theo cách thủ công. Thanh gỡ lỗi sẽ được bật khi APP_DEBUG là true . Nếu bạn sử dụng tuyến dự phòng/bắt tất cả, hãy đảm bảo bạn tải Trình cung cấp dịch vụ thanh gỡ lỗi trước Trình cung cấp dịch vụ ứng dụng của riêng bạn.

Làm cách nào để sử dụng trình gỡ lỗi trong Laravel?

Bật hoặc tắt chế độ gỡ lỗi bằng ứng dụng. Mở ứng dụng. tệp php nằm trong ứng dụng/cấu hình của bạn. dự án laravel php. Tìm kiếm khóa gỡ lỗi và thay đổi true để bật chế độ gỡ lỗi và false để tắt chế độ gỡ lỗi mặc định nó sẽ hiển thị sai.

Thanh gỡ lỗi php là gì?

DebugBar tích hợp dễ dàng trong bất kỳ dự án nào và có thể hiển thị dữ liệu định hình từ bất kỳ phần nào trong ứng dụng của bạn . Nó được tích hợp sẵn bộ thu thập dữ liệu cho các tính năng PHP tiêu chuẩn và các dự án phổ biến. Cài đặt thanh gỡ lỗi bằng Composer. { "yêu cầu". { "maximebf/thanh gỡ lỗi". "1. *" } } $ php nhà soạn nhạc. phar cài đặt.

Chủ Đề