var_dump à Firebug lorsque indéchiffrable xdebug est activé
-
13-09-2019 - |
Question
Xdebug affiche « var_dump » à sa manière avec des informations plus utiles, mais dans Firebug est illisible.
Je me demandais s'il y avait un moyen d'afficher le var_dump dans Firebug pour le rendre lisible sans désactiver xdebug et garder également l'affichage de la var_dump faite par xdebug en PHP.
Des exemples de var_dump affichés dans Firebug:
$test = array('id' => '42', 'name' => 'Mao');
var_dump($test);
Par défaut:
array(2) {
["id"]=>
string(2) "42"
["name"]=>
string(3) "Mao"
}
Xdebug:
<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b>
'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'42'</font> <i>(length=2)</i>
'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Mao'</font> <i>(length=3)</i>
</pre>
La solution
Vous pouvez désactiver Xdebug-var_dump()
-surcharge en mettant xdebug.overload_var_dump
à false
. Ensuite, vous pouvez utiliser var_dump()
lorsque vous n'avez pas besoin du HTML et la mise en forme xdebug_var_dump()
supplémentaire lorsque vous avez besoin d'une sortie de débogage entièrement formaté.
Mais comme je l'ai écrit dans mon commentaire ci-dessus, si vous utilisez FirePHP , vous pouvez simplement laisser FirePHP formater la sortie de la console Firebug:
fb($variable, FirePHP::DUMP) // or
FB::dump('Key', $variable) // or
$firephp->dump('Key', $variable); // where $firephp is your FirePHP instance
Autres conseils
ini_set('xdebug.overload_var_dump', 0);
ne fonctionnait pas avec mon installation.
Mais je peux le faire pour supress le code html:
ini_set( 'html_errors' , 0 );
Réglage xdebug.overload_var_dump="0"
dans php.ini résolu le problème dans mon cas.
ini_set('xdebug.overload_var_dump', 0);
ne fonctionne pas non plus. ini_set( 'html_errors' , 0 );
fonctionne, mais il peut être très lent parfois.
En tant que solution de contournement simple, vous pouvez utiliser ceci:
echo var_export($this);
Ce qui est à seulement 7 de plus que le frappes de touches var_dump normal.
Vous pouvez utiliser une alternative:
http://raveren.github.io/kint/
Il fonctionne avec zéro set-up et a beaucoup plus de fonctionnalités que le var_dump
de Xdebug de toute façon.
Capture d'écran: