Uzun yıllar boyunca PHP uygulamalarımın ne yaptığını görebilmek için var_dump(), Xdebug ayarları ve Spatie Ray gibi araçlara yıllık $49 ödeme yaptım. Ancak hiçbir şey doğru hissettirmiyordu; ya sayfayı bozuyordu, ağır IDE entegrasyonu gerekiyordu ya da ücretsiz olması gereken bir şey için para ödemem gerekiyordu.
Bunun üzerine DebugPHP’yi geliştirdim.
DebugPHP Nedir?
DebugPHP Nedir?
DebugPHP, hata ayıklama çıktılarınızı tarayıcı tabanlı bir gösterge paneline gerçek zamanlı olarak aktarır. Sayfa yenileme yok, masaüstü uygulamaları yok, yapılandırma karmaşası yok. Tek yapmanız gereken Debug::send() çağrısı yapmak ve ne olduğunu izlemektir.
use DebugPHP\Debug;
Debug::init('your-session-token');
Debug::send();
Debug::send($user, )->color();
Debug::send($exception, )->color();
Neden Xdebug veya Ray Kullanmayalım?
Neden Xdebug veya Ray Kullanmayalım?
| dd() / var_dump() | Xdebug | Spatie Ray | DebugPHP | |
|---|---|---|---|---|
| Gerçek zamanlı çıktı | ❌ | ❌ | ✅ | ✅ |
| Sayfa kesintisi yok | ❌ | ✅ | ✅ | ✅ |
| Sıfır yapılandırma | ❌ | ❌ | ❌ | ✅ |
| Tarayıcı tabanlı | ❌ | ❌ | ❌ | ✅ |
| Ücretsiz ve açık kaynak | ✅ | ✅ | ❌ | ✅ |
| Bağımlılık yok | ✅ | ❌ | ❌ | ✅ |
Mevcut Özellikler
Mevcut Özellikler
Etiketler ve Renkler — girişlerinizi görsel olarak kategorize edin:
Debug::send($query, )->color();
Debug::send(, )->color();
Zamanlayıcılar — performansı satır içi ölçün:
Debug::startTimer();
$results = $db->query();
Debug::stopTimer();
// → Gösterge paneli gösterir: "db-query: 23.4ms"
Toolbar Ölçüleri — üst kısımda canlı anahtar-değer verileri, istek düzeyinde veri için mükemmel:
Debug::metric(, );
Debug::metric(, memory_get_usage(true) / 1024 / 1024 . );
Metrikler kodunuzdan kaldırıldığında araç çubuğundan otomatik olarak kaybolur — eski veri yok.
Tablolar — dizileri düzgün tablolar olarak görüntüleyin:
Debug::table(
['isim' => ,
=> ],
'isim' => ,
=> ],
]);
Durdurma / Devam Ettirme / Temizleme — uygulamanıza dokunmadan tam kontrol.
Kendinize Ait Sunucu
Kendinize Ait Sunucu
Debug verilerinizi makinenizden çıkarmak istemiyor musunuz? Sunucu bileşeni tamamen açık kaynak:
git clone https://github.com/CallMeLeon167/debugphp-server.git
cd debugphp-server
composer install
# Tarayıcıda /setup/ açın — sihirbaz gerisini halledecektir
Daha sonra istemcininizi kendi sunucunuza yönlendirin:
Debug::init(, [
=> ,
]);
Teknik Detaylar (İlgilenenler İçin)
Teknik Detaylar (İlgilenenler İçin)
- PHP 8.1+ gerektirir, sıfır çalışma zamanı bağımlılığı (sadece
ext-curl) - PHPStan Level 10 — en sıkı statik analiz seviyesi, tamamen geçiyor
- SSE tabanlı itme mimarisi — WebSocket sunucusuna ihtiyaç yok, herhangi bir standart Apache/nginx kurulumunda çalışır
- Veri, PHP’nin yerel
serialize()+ base64 ile tam tür sadakati için serileştirildi (nesneler, istisnalar, iç içe yapılar hepsi çalışır) - Oturum belirteçleri uygulamanızı gösterge paneli sekmesine bağlar — birden fazla oturum paralel olarak çalışır
Kurulum
Kurulum
composer require callmeleon167/debugphp --devPHP 8.1+ ve ext-curl gerektirir. Hepsi bu kadar.
Durum
Durum
Şu anda ön sürümde — temel işlevselliği çalışıyor ve gösterge paneli işlevsel, ancak genel lansmandan önce bazı detayları düzeltiyorum.
Bu sizin için faydalı görünüyorsa: lütfen burada sorun açmaktan veya geri bildirimde bulunmaktan çekinmeyin. Özellikle, kendinize ait kurulum akışının farklı ortamlarda düzgün çalışıp çalışmadığını merak ediyorum.
Bir PHP geliştiricisi tarafından, PHP geliştiricileri için oluşturuldu. MIT lisanslı.
Kaynak: Orijinal Makale


