Laravel Debugbar
Geliştirme aşamasında SQL sorgularını, route, view ve bellek tüketimini izleyen hata ayıklama paneli.
Kurulum
Composercomposer require barryvdh/laravel-debugbar
Dokümantasyon & Kullanım
MarkdownLaravel Debugbar
Laravel Debugbar (PHPDebugBar entegrasyonu), yerel geliştirme ortamında sayfa yükleme sürelerini, veritabanı (SQL) sorgularını, bellek tüketimini, log kayıtlarını, view parametrelerini ve route detaylarını sayfanın altında etkileşimli bir çubuk olarak gösteren vazgeçilmez bir profil çıkarma ve hata ayıklama aracıdır.
Neden Tercih Edilmeli?
- N+1 Sorgu Tespiti: Sayfada tekrarlayan veya gereksiz çalışan SQL sorgularını ve sorgu çalışma sürelerini renkli uyarılarla anında görmenizi sağlar.
- Detaylı Zaman Çizelgesi (Timeline): Uygulama ömrünün (boot, routing, controller, view rendering) hangi aşamasında ne kadar süre harcandığını mikrosaniye düzeyinde analiz eder.
- Bellek ve CPU İzleme: Sayfa yürütülürken tüketilen tepe bellek (peak memory) miktarını gösterir.
- Model ve View Takibi: Render edilen Blade şablonlarını ve yüklenen Eloquent modellerini listeler.
- AJAX ve API Desteği: Arka planda atılan AJAX isteklerini ve OpenHandler özelliğiyle geçmiş istekleri denetlemenize olanak tanır.
Kurulum
Geliştirme ortamı bağımlılığı (--dev) olarak paketi projenize ekleyin:
composer require barryvdh/laravel-debugbar --dev
Yapılandırma dosyasını yayınlamak isterseniz:
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
Yapılandırma
.env dosyanızda debug modunun açık olması Debugbar'ın otomatik olarak görünmesini sağlar:
APP_DEBUG=true
DEBUGBAR_ENABLED=null
Önemli: Canlı (Production) ortamlarda
APP_DEBUG=falseolduğundan emin olun veyaDEBUGBAR_ENABLED=falseolarak ayarlayın.
Temel Kullanım
Debugbar genellikle otomatik çalışır ve sayfaların altına çubuk ekler. Ancak kod içerisinde manuel ölçümler ve mesajlar göndermek için Debugbar facade'ını veya debug() yardımcısını kullanabilirsiniz:
Mesaj ve Hata Günlüğü Ekleme
use Barryvdh\Debugbar\Facades\Debugbar;
// Basit log mesajları
Debugbar::info('Kullanıcı ödeme adımına geçti.');
Debugbar::error('Ödeme ağ geçidi yanıt vermedi!');
Debugbar::warning('Stok miktarı kritik seviyede: 2');
// Yardımcı fonksiyon ile nesne dökümü
debug($user, $cartItems);
Zaman Ölçümü (Zamanlayıcı Başlatma/Durdurma)
Ağır bir işlemin ne kadar sürdüğünü ölçmek için:
use Barryvdh\Debugbar\Facades\Debugbar;
Debugbar::startMeasure('render_heavy_report', 'Büyük Rapor Hazırlama');
// Ağır veri işleme veya döngü
$report = $reportService->generateHugeDataset();
Debugbar::stopMeasure('render_heavy_report');
İstisna (Exception) Yakalama
try {
$paymentService->charge($order);
} catch (\Exception $e) {
Debugbar::addThrowable($e);
}
Koşullu Açma ve Kapatma
Belirli bir route veya controller metodunda Debugbar'ı gizlemek isterseniz:
use Barryvdh\Debugbar\Facades\Debugbar;
public function exportPdf()
{
Debugbar::disable();
return response()->download($pdfPath);
}
Paket Bilgileri
Etiketler
Diğer Paketler
TALL stack üzerine kurulu, zarif ve son derece genişletilebilir admin paneli ve CRUD yönetim aracı.
API oluşturmadan Vue, React veya Svelte bileşenlerini klasik Laravel controller ve view yapısıyla SPA olarak çalıştırmayı sağlayan adaptör.
PHP ve Laravel için popüler, güçlü, esnek görsel işleme, kırpma, filtreleme ve optimizasyon kütüphanesi.