Непрочитанный 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'>=&gt;</font> <small>string</small> <font color='#cc0000'>'42'</font> <i>(length=2)</i>
  'name' <font color='#888a85'>=&gt;</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