Dumper

Κάθε προγραμματιστής αποσφαλμάτωσης είναι καλός φίλος με τη συνάρτηση var_dump, η οποία παραθέτει λεπτομερώς όλα τα περιεχόμενα οποιασδήποτε μεταβλητής. Δυστυχώς, η έξοδός της είναι χωρίς μορφοποίηση HTML και εξάγει την απόρριψη σε μία μόνο γραμμή κώδικα HTML, για να μην αναφέρουμε την αποφυγή συμφραζομένων. Είναι απαραίτητο να αντικατασταθεί η var_dump με μια πιο εύχρηστη συνάρτηση. Αυτό ακριβώς είναι το dump().

$arr = [10, 20.2, true, null, 'hello'];

dump($arr);
// ή Debugger::dump($arr);

παράγει την έξοδο:

Μπορείτε να αλλάξετε το προεπιλεγμένο ανοιχτό θέμα σε σκούρο:

Debugger::$dumpTheme = 'dark';

Μπορείτε επίσης να αλλάξετε το βάθος φωλιασμού με Debugger::$maxDepth και το μήκος των εμφανιζόμενων συμβολοσειρών με Debugger::$maxLength. Φυσικά, οι χαμηλότερες τιμές επιταχύνουν την απόδοση του Tracy.

Debugger::$maxDepth = 2; // προεπιλογή: 3
Debugger::$maxLength = 50; // προεπιλογή: 150

Η συνάρτηση dump() μπορεί να εμφανίσει και άλλες χρήσιμες πληροφορίες. Tracy\Dumper::LOCATION_SOURCE προσθέτει ένα tooltip με τη διαδρομή προς το αρχείο, στο οποίο κλήθηκε η συνάρτηση. Tracy\Dumper::LOCATION_LINK προσθέτει έναν σύνδεσμο προς το αρχείο. Tracy\Dumper::LOCATION_CLASS προσθέτει ένα tooltip σε κάθε αντικείμενο που απορρίπτεται και περιέχει τη διαδρομή προς το αρχείο, στο οποίο ορίζεται η κλάση του αντικειμένου. Όλες αυτές οι σταθερές μπορούν να οριστούν στη μεταβλητή Debugger::$showLocation πριν από την κλήση της dump(). Μπορείτε να ορίσετε πολλαπλές τιμές ταυτόχρονα χρησιμοποιώντας τον τελεστή |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Δείχνει τη διαδρομή στην οποία κλήθηκε η dump()
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Εμφανίζει τόσο τις διαδρομές προς τις κλάσεις όσο και το σύνδεσμο προς το σημείο κλήσης της dump()
Debugger::$showLocation = false; // Αποκρύπτει πρόσθετες πληροφορίες τοποθεσίας
Debugger::$showLocation = true; // Εμφανίζει όλες τις πρόσθετες πληροφορίες τοποθεσίας

Πολύ εύχρηστη εναλλακτική λύση για το dump() είναι το dumpe() (δηλ. dump και exit) και το bdump(). Αυτό μας επιτρέπει να κάνουμε ντάμπινγκ μεταβλητών στο Tracy Bar. Αυτό είναι χρήσιμο, επειδή οι απορρίψεις δεν μπερδεύουν την έξοδο και μπορούμε επίσης να προσθέσουμε έναν τίτλο στην απόρριψη.

bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');