У меня есть простой $_GET[]
набор переменных запроса для отображения данных тестирования при извлечении запросов из БД.
<?php if($_GET['test']): ?>
<div id="test" style="padding: 24px; background: #fff; text-align: center;">
<table>
<tr style="font-weight: bold;"><td>MLS</td></tr>
<tr><td><?php echo KEY; ?></td></tr>
<tr style="font-weight: bold;"><td>QUERY</td></tr>
<tr><td><?php echo $data_q; ?></td></tr>
<tr style="font-weight: bold;"><td>DATA</td></tr>
<tr><td><?php var_dump($data); ?></td></tr>
</table>
</div>
<?php endif; ?>
Когда я это делаю var_dump
, как и ожидалось, это большая строка массива, которая все смешивается. Есть ли способ добавить разрывы строк хотя бы для этого или отобразить их var_dump
более читаемым способом? Я открыт для предложений jQuery по управлению строкой после ее публикации.
echo '<pre>'; var_dump($data); echo '</pre>'
,print_r($data)
. php.net/manual/en/function.print-r.phpОтветы:
Я очень люблю
var_export()
. Если вам нравится код с возможностью копирования / вставки, попробуйте:Или даже что-то вроде этого для цветовой подсветки синтаксиса:
Вы можете сделать то же самое с
print_r()
. Дляvar_dump()
вас просто нужно будет добавить<pre>
тег:источник
echo
,var_export
иhighlight_string
являются функциями php и должны находиться внутри<?php
?>
блока. Да, даже несмотря на то, что в строке функции highlight_string есть пара <? Php?> Внутри, пара необходима и снаружи.var_dump(highlight_string("<?\n". var_export($data, true)));
Попробуйте расширение xdebug для php.
Пример:
Выходы:
источник
extension=php_xdebug.dll
, а неzend_extension=/some/really/long/specific/path/xdebug.so
Использовать предварительно отформатированный элемент HTML
источник
Я сделал дополнение к ответам @AbraCadaver. Я включил скрипт javascript, который удалит начальный и закрывающий теги php. У нас будет чистая более красивая свалка.
Может быть, кто-то такой тоже.
Результат до:
Результат после:
Теперь у нас нет стартового и закрывающего тега php
источник
Если это «все смешано», вы можете попробовать старый «просмотр исходного кода». Иногда дампы, сообщения и исключения кажутся одной длинной строкой, когда оказывается, что разрывы строк просто не отображаются. Особенно деревья XML.
Как вариант, однажды я создал небольшой инструмент под названием InteractiveVarDump именно для этой цели. Конечно, у него есть свои ограничения, но иногда он может быть очень удобным. Хотя он был разработан с учетом PHP 5.
источник
Лучший и самый простой способ получить хороший var_dump - это использовать xDebug (обязательно для любого php dev) Установка Debian
В консоли:
apt-get install php-xdebug
после этого вы должны открыть php.ini (зависит от того, какой стек вы используете) для него /etc/php/7.0/fpm/php.iniИщи
display_errors
установить то же самое ->
display_errors = On
Отметьте этот
html_errors
же файл чуть ниже, он также должен бытьOn
Сохранить и выйти
После открытия
/etc/php/7.0/fpm/conf.d/20-xdebug.ini
И добавьте в конец: `` xdebug.cli_color = 1
`` Сохранить и выйти.
Здесь можно найти множество других доступных опций и документации для xdebug.
https://xdebug.org/docs/
Удачи и получайте удовольствие !!!
результат
источник
Вы можете использовать это
debugVar()
вместоvar_dump()
Проверьте: https://github.com/E1NSER/php-debug-function
источник
Вот моя функция - иметь красивый var_dump. В сочетании с Xdebug это очень помогает лучше понять, что мы сбрасываем.
Я немного улучшил отображение Xdebug (оставил пространство вокруг, разделитель между значениями, перенос длинных переменных и т. Д.).
Когда вы вызываете функцию, вы можете установить заголовок, фон и цвет текста, чтобы различать все ваши var_dump на странице.
Или не ;)
источник
источник
Кажется, у меня недостаточно репутации, чтобы закрыть это как дубликат, но это один, если кто-то другой может это сделать. Я разместил то же самое на более красивой / информативной альтернативе Var_dump в PHP? но ради экономии времени я тоже скопирую / вставлю его сюда:
Мне пришлось добавить здесь еще один ответ, потому что я действительно не хотел повторять шаги в других решениях. Это очень просто и не требует расширений, включает и т. Д., И это то, что я предпочитаю. Это очень просто и очень быстро.
Сначала просто json_encode рассматриваемую переменную:
Скопируйте полученный результат в редактор JSON на http://jsoneditoronline.org/, просто скопируйте его в левую панель, нажмите «Копировать»>, и он распечатает JSON в действительно красивом древовидном формате.
Каждому свое, но, надеюсь, это поможет другим получить еще один хороший вариант! :)
источник
Для этого есть пакет Symfony: https://symfony.com/doc/current/components/var_dumper.html .
источник
Я написал функцию (
debug_display
), которая может красиво печатать массивы, объекты и информацию о файлах.источник
использование
Это должно работать ^^
источник