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');