Нечитаемый var_dump в Firebug при включенном xdebug
-
13-09-2019 - |
Вопрос
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>
Решение
Вы можете отключить 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
в любом случае.
Скриншот: