Непрочитанный var_dump в Firebug при включении xdebug
Xdebug показывает "var_dump" по-своему с более полезной информацией, но в Firebug нечитаем.
Мне было интересно, есть ли способ показать var_dump в Firebug, чтобы сделать его доступным для чтения, не отключая xdebug, а также сохраняя отображение var_dump, сделанное xdebug в PHP.
Примеры var_dump, отображаемые в Firebug:
$test = array('id' => '42', 'name' => 'Mao');
var_dump($test);
По умолчанию:
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>
Ответы
Ответ 1
Вы можете отключить Xdebug- var_dump()
-перегрузку, установив xdebug.overload_var_dump
в false
. Затем вы можете использовать var_dump()
, когда вам не требуется дополнительное форматирование HTML и xdebug_var_dump()
, когда вам нужен полностью отформатированный вывод отладки.
Но, как я писал в своем комментарии выше, если вы используете FirePHP, вы можете просто позволить FirePHP форматировать вывод в вашем Консоль Firebug:
fb($variable, FirePHP::DUMP) // or
FB::dump('Key', $variable) // or
$firephp->dump('Key', $variable); // where $firephp is your FirePHP instance
Ответ 2
Mike B,
ini_set('xdebug.overload_var_dump', 0);
не работал с моей установкой.
Но я могу сделать это, чтобы подавить html:
ini_set( 'html_errors' , 0 );
Ответ 3
Настройка xdebug.overload_var_dump="0"
в php.ini решила проблему в моем случае.
Ответ 4
ini_set('xdebug.overload_var_dump', 0);
тоже не работает. ini_set( 'html_errors' , 0 );
работает, но иногда может быть очень медленным.
В качестве простого обходного пути вы можете использовать это:
echo var_export($this);
Это всего лишь 7 нажатий клавиш больше, чем обычный var_dump.
Ответ 5
Вы можете использовать альтернативу:
http://raveren.github.io/kint/
Он работает с нулевой настройкой и имеет гораздо больше возможностей, чем Xdebug var_dump
в любом случае.
Скриншот:
![Kint screenshot]()