โดยปกติ Laravel จะมีแจ้งพวกข้อผิดพลาดเบื้องต้นอยู่แล้ว แต่บางครั้งมัน Debug ยาก เพราะจะมี Error บอกโดยรวม เลยไม่รู้ว่าอยู่บรรทัดไหน
แต่มีคนทำ Laravel Debugbar ให้ใช้งาน ซึ่งจะเป็น Bar ลอยอยู่ด้านล่างของเว็บไซต์ และ Debug ได้หลายจุด อาทิเช่น Timeline, Exceptions, Views, Route, Queries ยังมีอีกหลายอย่างก็ไปลองใช้ดูครับ
วิธีติดตั้ง
เข้าไปที่โฟลเดอร์เก็บเว็บเรา และพิมพ์คำสั่งติดตั้งดังต่อไปนี้
composer require barryvdh/laravel-debugbar
เปิดไฟล์ config/app.php และเข้าไปเพิ่มในส่วน array ของ "providers"
Barryvdh\Debugbar\ServiceProvider::class,
ยังคงอยู่ที่ไฟล์ config/app.php ให้เพิ่มชื่อนามแฝงไปไว้ที่ส่วน Array ของ "aliases"
'Debugbar' => Barryvdh\Debugbar\Facade::class,
เมื่อเสร็จเรียบร้อยลองไปเปิดเว็บบราวเซอร์และ Refresh เว็บตัวเองอีกครั้ง จะมี Laravel Debugbar แสดงอยู่ล่างสุดครับ
วิธีใช้งาน
เริ่มต้นให้เราเรียกใช้ Debugbar ก่อน
use Debugbar;
Messages
เราสามารถแสดงค่าต่างๆ เพื่อไว้ Debug ไม่ว่าจะเป็นตัวแปรทั่วไป, Array หรือ Object โดยแบบเจาะจงกลุ่มก็ได้ เพื่อจะได้มองดูได้ง่าย
Debugbar::info(['arr0','arr1','arr2']);
Debugbar::error('Error');
Debugbar::debug('Debug');
Debugbar::notice('Notice');
Debugbar::warning('Warning');
Debugbar::critical('Critical');
Debugbar::alert('Alert');
Debugbar::emergency('Emergency');
Debugbar::addMessage('Another message', 'mylabel');
Timeline
แสดง Timeline ว่า Code ที่เขียนใช้เวลาในการทำงานไปเท่าไร
Debugbar::startMeasure('render','Time for rendering');
Debugbar::stopMeasure('render');
Debugbar::addMeasure('now', LARAVEL_START, microtime(true));
Debugbar::measure('My long operation', function() {
// Do something...
});
Exceptions
จัดการข้อผิดพลาดในรูปแบบ Exception handling
try {
throw new Exception('foobar');
} catch (Exception $e) {
Debugbar::addException($e);
}