Döküm (Dumping)
Her hata ayıklayıcı, değişkenin içeriğini ayrıntılı olarak yazdıran var_dump
fonksiyonunun iyi bir arkadaşıdır. Maalesef, HTML ortamında çıktı biçimlendirmeyi kaybeder ve tek bir satıra karışır,
HTML kodunun temizlenmesinden bahsetmiyorum bile. Pratikte, var_dump
yerine daha kullanışlı bir fonksiyon
kullanmak gerekir. İşte bu fonksiyon dump()
.
$arr = [10, 20.2, true, null, 'hello'];
dump($arr);
// veya Debugger::dump($arr);
şu çıktıyı üretir:

Varsayılan açık temayı koyu temaya değiştirebilirsiniz:
Debugger::$dumpTheme = 'dark';

Ayrıca, Debugger::$maxDepth kullanarak iç içe geçme derinliğini ve Debugger::$maxLength kullanarak görüntülenen etiketlerin uzunluğunu değiştirebiliriz. Daha düşük değerler doğal olarak Tracy'yi hızlandırır.
Debugger::$maxDepth = 2; // varsayılan: 3
Debugger::$maxLength = 50; // varsayılan: 150
dump()
fonksiyonu diğer yararlı bilgileri de yazdırabilir. Tracy\Dumper::LOCATION_SOURCE
sabiti,
fonksiyonun çağrıldığı yere giden yolu içeren bir araç ipucu ekler. Tracy\Dumper::LOCATION_LINK
bize o yere
bir bağlantı sağlar. Tracy\Dumper::LOCATION_CLASS
, dökümü yapılan her nesne için, sınıfının
tanımlandığı dosyanın yolunu içeren bir araç ipucu yazdırır. Sabitler, dump()
çağrısından önce
Debugger::$showLocation
değişkenine ayarlanır. Aynı anda birden fazla değer ayarlamak istiyorsak, bunları
|
operatörü ile birleştiririz.
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Yalnızca fonksiyon çağrı yerinin çıktısını ayarlar
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Aynı anda bağlantı çıktısını ve sınıf yolunu ayarlar
Debugger::$showLocation = false; // Ek bilgilerin çıktısını kapatır
Debugger::$showLocation = true; // Tüm ek bilgilerin çıktısını açar
dump()
fonksiyonuna pratik bir alternatif dumpe()
(dump & exit) ve bdump()
fonksiyonudur. Bu, değişkenin değerini Tracy Bar panelinde yazdırmamızı sağlar. Bu çok kullanışlıdır, çünkü
dökümler sayfa düzeninden ayrıdır ve yanlarına yorum da ekleyebiliriz.
bdump([2, 4, 6, 8], 'ona kadar çift sayılar');
bdump([1, 3, 5, 7, 9], 'ona kadar tek sayılar');
