Блог веб-разработчика v 1.0.0
Symfony2, AngularJS, React, Gulp, PhpStorm и много других страшных слов

Лучше чем var_dump

2 года назад
2529 просмотров
PHP Полезности

Patchwork-Dumper - PHP библиотека для предоставляет функцию debug(), которая является лучшей заменой стандартной var_dump() по следующим причинам:

  • Можно настроить отображение полей для каждого отдельного класса. Например, убрать кучу мусора из распечатки сущностей Doctrine2 (уверен, вы поймете о чем это, если хоть раз пытались var_dump-ить сущность доктрины).
  • Настраиваемый формат вывода в HTML, цветную консоль или в JSON.
  • Возможность дампить внутренние ссылки вроде &=

Установка

Проще и лучше всего устанавливать через Composer:

{
    "require": {
        "patchwork/dumper": "~1.2"
    }
}

Теперь у вас доступна функция debug(). Пример использования из документации:

<?php
$var = 1.0;
debug($var);

$var = fopen(__FILE__, 'rb');
debug($var);

class foo
{
    public $pub = 'Pub';
    protected $prot = 'Prot';
    private $priv = 'Priv';
}

$foo = new foo;
$var = array($foo, $foo);
debug($var);

$var = array($foo);
$var[1] =& $var[0];
debug($var);

Интеграция в Symfony2

В репозитории так же есть бандл для Symfony2:

public function registerBundles()
{
    $bundles = array(
        // ...
        new \Symfony\Bundle\DebugBundle\DebugBundle(),
    );
}

Он точно так же предоставляет функцию debug(), но при этом добавляет ее в Twig:

{% debug myVar %}
Что еще почитать