ghostff/dump7

A pretty version of php var_dump. This class displays structured information about one or more expressions that includes its type and value.

v2.0.2 2021-01-12 11:48 UTC

This package is auto-updated.

Last update: 2024-04-07 03:07:14 UTC


README

A pretty version of php var_dump. This class displays structured information about one or more expressions that includes its type and value.

Check out Dump5 for PHP 5+

Installation

You can download the Latest release version as a standalone, alternatively you can use Composer

composer require ghostff/dump7
"require": {
    "ghostff/dump7": "^1.0"
}

Display Flags

You can simple hide or show some object attribute using a Doc block flag:

@dumpignore-inheritance Hides inherited class properties.
@dumpignore-inherited-class Hides the class name from inherited properties.
@dumpignore-private Show all properties except the private ones.
@dumpignore-protected Show all properties except the protected ones.
@dumpignore-public Show all properties except the public ones.
@dumpignore Hide the property the Doc comment belongs to.
/**
* @dumpignore-inheritance
* @dumpignore-inherited-class
* @dumpignore-private
* @dumpignore-public
* @dumpignore-public
*/
Class Foo extends Bar {
    /** @dumpignore */
    private ?BigObject $foo = null;
}

Usage

class FooBar
{
    private $inherited_int   = 123;
    private $inherited_array = ['string'];
}

class Bar extends FooBar
{
    private $inherited_float = 0.22;
    private $inherited_bool  = 1 == '1';
}

class Foo extends Bar
{
    private $string = 'string';
    protected $int  = 10;
    public $array   = [
        'foo' => 'bar'
    ];
    protected static $bool = false;
}

$string   = 'Foobar';
$array    = ['foo', 'bar'];
$int      = 327626;
$double   = 22.223;
$null     = null;
$bool     = true;
$resource = fopen('LICENSE', 'r');
$m        = microtime(true);

new Dump(new Foo, $string, $array, $int, $double, $null, $bool, [
    'foo' => 'bar',
    'bar' => 'foo',
    [
        'foo' => 'foobar',
        'bar_foo',
        2 => 'foo',
        'foo' => [
            'barbar' => 55,
            'foofoo' => false,
            'foobar' => null,
        ]
    ]
], $resource);

new Dump(1 == '1', 1 === '1');
Dump::safe(...$args); # running on terminal without color capabilities.

Replacing predefined colors:

# set($name, [$cgi_color, $cli_color]);
Dump::set('boolean', ['bb02ff', 'purple']);

By default, when Dump is called inside a function, the call line is set to new Dump inside the function instead of the function call. With setTraceOffset you can set the offset of each call line.

function dump()
{
    Dump::setTraceOffset(2);
    new Dump(...func_get_args()); # Dont use this test.php(line:4) as call line
}

dump('foo', 22, 'bar', true); // Use test.php(line:7) instead

CGI output:

cgi screenshot

CLI(Unix):

cli screenshot

CLI(Window):

cli screenshot