Современный PHP-дампер с рекурсивным анализом данных, подсветкой типов и удобным визуальным представлением сложных структур.
- Интерактивный HTML-дамп с раскрытием вложенных структур.
- Подсветка типов данных.
- Обнаружение и подсветка рекурсивных ссылок.
- Поддержка всех типов данных: array, object, enum, Closure, resource и примитивов.
- Настраиваемая глубина раскрытия вложенний.
- Поддержка различных стилей оформления (как встроеных так и пользовательских).
- Опциональная конфигурация через
JSON-файл. - Совместимость с популярными фреймворками.
- Простая установка через
Composer.
PHP 8.0или выше- Расширение
mbstring
composer require mnlnk/php-dumper// snake_case
mk_dump($value);
// или
// camelCase
mkDump($value);Создайте файл mk-dump.json в корне вашего проекта. Все параметры опциональны — если их не указывать, будут использованы значения по умолчанию.
{
"max_str_len" : 60,
"charset" : "UTF-8",
"max_depth" : 1,
"short_ns_len" : 4,
"show_object_id" : true,
"show_enum_id" : true,
"show_resource_id" : true,
"show_indent_guides" : true,
"root_path" : "",
"theme" : "mk-dark"
}max_str_len- Максимальная длина отображаемых строк.int: >= 3charset- Кодировка строк.str: >= 1max_depth- Максимальная глубина раскрытия вложенных структур (объекты, массивы).int: >= 0short_ns_len- Сокращенние пространства имен (если указать -1, то сокращение не будет применяться).int: >= -1show_object_id- Показывать ID объектов.boolshow_enum_id- Показывать ID перечислений.boolshow_resource_id- Показывать ID ресурсов.boolshow_indent_guides- Показывать вертикальные направляющие.boolroot_path- Корневой путь директории для визуальной обрезки путей в свойствеfileанонимных функций (обычно это корень проекта).str: >= 0theme- Тема оформления.str: >= 1Указываетсяимявстроенной темы, илиполный путьк пользовательскому CSS-файлу (eсли файл не найден, будет использована тема по умолчанию). Путь к пользовательскому файлу стилей обязательно должен быть полным, иначе дампер просто не найдет его.
Встроенные темы:
mk-dark(по умолчанию)mk-light
Пользовательская тема:
{
"theme": "C:\\themes\\my-custom-theme.css"
}-
Строка с комментарием, начинающаяся с
//:и размещённая непосредственно перед вызовомmk_dump(), будет выведена в браузере и использована как заголовок (комментарий) дампа.//: Данные пользователя mk_dump($user);
-
Клик мыши на раскрывающемся блоке с зажатой клавишей
Ctrl(Windows/Linux) или⌘(Mac) развернёт все вложенные структуры сразу. То же самое работает и для сворачивания всех вложенных структур. -
Наведение мыши на скобки объекта или массива с зажатой клавишей
Ctrl(Windows/Linux) или⌘(Mac) подсветит все его элементы.
//: Примитивы и массивы
mk_dump([
'id' => 1,
'active' => true,
'roles' => ['admin', 'editor'],
'meta' => null
]);
/* -- */
class User {
public function __construct(
private int $id,
protected string $name,
public array $roles
) {}
}
$user = new User(1, 'Admin', ['admin', 'user']);
//: Объект с вложенными данными
mk_dump($user);
/* -- */
enum Status: string {
case Draft = 'draft';
case Published = 'published';
}
//: Enum
mk_dump(Status::Published);
/* -- */
$multiplier = 10;
//: Замыкание с use()
mk_dump(function (int $value) use ($multiplier): int {
return $value * $multiplier;
});
/* -- */
$a = new stdClass();
$b = new stdClass();
$a->b = $b;
$b->a = $a;
//: Циклические ссылки
mk_dump($a);
/* -- */
//: Ресурс
mk_dump(fopen(__FILE__, 'r'));Результат будет выглядеть примерно так (использована тема mk-dark):
Для работы с популярными фреймворками никакой специальной интеграции не требуется, просто подключите дампер к проекту.
Рекомендуется подключать только в dev-окружении.
