Dumper
Tout développeur de débogage connaît bien la fonction var_dump
, qui liste en détail le contenu de n'importe
quelle variable. Malheureusement, sa sortie est dépourvue de formatage HTML et produit le dump en une seule ligne de code HTML,
sans parler de l'échappement du contexte. Il est nécessaire de remplacer le var_dump
par une fonction plus
pratique. C'est exactement ce qu'est dump()
.
$arr = [10, 20.2, true, null, 'hello'];
dump($arr);
// or Debugger::dump($arr);
génère la sortie :
Vous pouvez changer le thème clair par défaut en thème foncé :
Debugger::$dumpTheme = 'dark';
Vous pouvez également modifier la profondeur d'imbrication par Debugger::$maxDepth
et la longueur des chaînes
affichées par Debugger::$maxLength
. Naturellement, des valeurs plus faibles accélèrent le rendu de Tracy.
Debugger::$maxDepth = 2; // default: 3
Debugger::$maxLength = 50; // default: 150
La fonction dump()
peut afficher d'autres informations utiles. Tracy\Dumper::LOCATION_SOURCE
ajoute
une infobulle avec le chemin d'accès au fichier, dans lequel la fonction a été appelée.
Tracy\Dumper::LOCATION_LINK
ajoute un lien vers le fichier. Tracy\Dumper::LOCATION_CLASS
ajoute une
infobulle à chaque objet vidé contenant le chemin d'accès au fichier, dans lequel la classe de l'objet est définie. Toutes ces
constantes peuvent être définies dans la variable Debugger::$showLocation
avant d'appeler la fonction
dump()
. Vous pouvez définir plusieurs valeurs à la fois en utilisant l'opérateur |
.
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Shows path to where the dump() was called
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Shows both paths to the classes and link to where the dump() was called
Debugger::$showLocation = false; // Hides additional location information
Debugger::$showLocation = true; // Shows all additional location information
Une alternative très pratique à dump()
est dumpe()
(c'est-à-dire dump and exit) et
bdump()
. Cela nous permet de vider les variables dans Tracy Bar. C'est utile, car les dumps ne brouillent pas la
sortie et nous pouvons également ajouter un titre au dump.
bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');