Вопрос

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>
Это было полезно?

Решение

Вы можете отключить 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

Другие советы

Майк Брешение проблемы,

ini_set('xdebug.overload_var_dump', 0);

не сработало с моей установкой.

Но я могу сделать это, чтобы подавить html :

ini_set( 'html_errors' , 0 );

Настройка xdebug.overload_var_dump="0" в php.ini решил проблему в моем случае.

ini_set('xdebug.overload_var_dump', 0); здесь тоже не работает. ini_set( 'html_errors' , 0 ); работает, но иногда это может быть очень медленно.

В качестве простого обходного пути вы могли бы использовать это:

echo var_export($this);

Что всего на 7 нажатий клавиш больше, чем у обычного var_dump .

Вы можете использовать альтернативный:

http://raveren.github.io/kint/

Он работает с нулевой настройкой и обладает гораздо большим количеством функций, чем у Xdebug var_dump в любом случае.

Скриншот:

Kint screenshot

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top