Laravel Debugbar Là một công cụ không thể thiếu giúp cho công việc phát triển với Laravel trở nên dễ dàng hơn.

Vì sao cần phải sử dụng Laravel Debugbar?

Laravel Debugbar là một thư viện cho phép bạn nhanh chóng và dễ dàng giữ lại các tab trong suốt quá trình phát triển. Với việc cài đặt đơn giản và các tính năng mạnh mẽ, thư viện Debugbar là một trong những nền tảng cho Laravel.

Lưu ý:

  • Debugbar chỉ dành cho quá trình phát triển website của các bạn.
  • Nó làm chậm đi tốc độ của trang web của chúng ta vì có phải thu thập dữ liệu để phân tích cho chúng ta
  • Bạn có thể tùy chỉnh config của Debugbar theo ý muốn thông qua “vendor:publish“.
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

Các tính năng mà Debugbar hỗ trợ

Các bạn có thể vào config: debugbar.php. Nằm trong phần “collectors”

Có thể tùy chỉnh Collectors

  • QueryCollector: Hiển thị toàn bộ các câu Query, bao gồm binding + timing
  • RouteCollector: Hiển thị những thông tin của Route hiện tại
  • ViewCollector: Hiển thị những view được tải lên trong lúc đó (bao gổm cả dữ liệu của nó)
  • EventsCollector: Hiển thị tất cả sự kiện
  • LaravelCollector: Cho ta phiên bản hiện tại của Laravel và môi trường phát triển (default: disabled)
  • SymfonyRequestCollector: Thay thế RequestCollector với nhiều thông tin hơn về request/response
  • LogsCollector: Hiển thị thông tin log mới nhất
  • FilesCollector: Hiển thị danh sách file được include/require bởi PHP
  • ConfigCollector: Hiển thị các giá trị config
  • CacheCollector: Hiển thị thông tin về Cache

Collectors được khởi động (bootstraps) ngay sau Laravel

  • LogCollector: Hiển thị Log messages
  • SwiftMailCollector và SwiftLogCollector cho Mail

Các Collectors mặc định

  • PhpInfoCollector
  • MessagesCollector
  • TimeDataCollector
  • MemoryCollector
  • ExceptionsCollector

Nó cũng cũng cấp Facade interface để dễ dàng Logging Messages, Exceptions và Time

Cài đặt

Cài đặt cũng vô cùng đơn giản. Với composer việc cài đặt nó diễn ra vô cùng nhanh chóng. Sau đây là các bước cài đặt và chạy DebugBar

composer require barryvdh/laravel-debugbar --dev

IF
project của bạn cài đặt Package Auto-Discovery, thì bạn không cần khai báo ServiceProvider thủ công
Debugbar sẽ được kích hoạt khi bạn set APP_DEBUG=true trong .env

Nếu bạn sẻ dụng catch-all/fallback route, đảm bảo rằng Debugbar ServiceProvider được tải trước App ServiceProviders.

ELSE
Thêm ServiceProvider vào array providers trong config/app.php

Barryvdh\Debugbar\ServiceProvider::class,

Nếu bạn muốn sử dụng Facade để log messages, bạn thêm nó vào array aliases trong config/app.php

'Debugbar' => Barryvdh\Debugbar\Facade::class,

Mặc định Debugbar được kích hoạt, nếu APP_DEBUG=true. Bạn có thể Override bằng cách enabled trong config/debugbar.php (nhớ vendor:publish trước nhé) hoặc set true/false DEBUGBAR_ENABLED trong file .env

Tìm hiểu Debugbar

Mình giới thiệu đến các bạn một số tính năng phổ biến được sử dụng nhiều trong quá trình phát triển website của mình nhé.

  • Messages
    Message là một phần đặc biệt, nó chỉ loaded khi bạn sử dụng Facade trong code
Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel');
  • Timeline

Timeline là công cụ hoàn hảo giúp bạn sữa chữa những đoạn code chạy chậm, tốn nhiều thời gian xử lý

Debugbar::startMeasure('render','Time for rendering');
Debugbar::stopMeasure('render');
Debugbar::addMeasure('now', LARAVEL_START, microtime(true));
Debugbar::measure('My long operation', function() {
// Do something…
});
  • Exeptions

Bạn có thể ghi Exceptions vào Debugbar

try {
  throw new Exception('foobar');
} catch (Exception $e) {
  Debugbar::addException($e);
}
  • Views
    View sẽ hiển thị cho bạn tất cả những gì mà template render 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 của bạn.
    Với view, bạn có thể chắc chắn những gì bạn truyền sang có chính xác là những gì template đang cần.
    Thứ mình áp dụng nhiều nhất là override view. Dựa vào đường dẫn thư mục mà mình có thể tùy chỉnh những giao diện mặc định của cấc package ví dụ như laravel/ui.
    Ngoài ra view còn nhiều trường hợp khác sử dụng.
  • Route
    Bạn có thể thấy tất cả thông tin của route hiện tại như uri, middleware, controller, file,…
  • Queries
    Queries là một phần quan trọng nhất đối với nhiều ứng dụng. Với tab này, bạn có thể nhìn thấy tất cả những câu truy vấn đến cơ sở dữ liệu của bạn mỗi khi truy cập một trang bất kỳ. Từ đó dễ dàng tìm ra lỗi và cách khắc phục.
  • Mail and Request
    Trong hai tab này chứa đựng mọi thứ khi gửi email và những request hiện tại.

DebugBar thực sự là một thư viện vô cùng hữu ích cho chúng ta khi phát triển một ứng dụng với Laravel. Chúc các bạn sử dụng thành công!
Rất mong được sự ủng hộ của mọi người để mình có động lực ra những bài viết tiếp theo.
{\__/}
( ~.~ )
/ > ♥️ I LOVE YOU 3000