A lightweight and versatile PHP library for debugging and inspecting variables with customizable output formats.
|
|
1 日 前 | |
|---|---|---|
| exemples | 1 日 前 | |
| functions | 1 日 前 | |
| resources | 1 日 前 | |
| screenshot | 1 日 前 | |
| src | 1 日 前 | |
| tests | 1 日 前 | |
| .gitignore | 1 日 前 | |
| LICENSE | 1 日 前 | |
| README.md | 1 日 前 | |
| composer.json | 1 日 前 |
A lightweight and versatile PHP library for debugging and inspecting variables with customizable output formats.
You can install this library via Composer. Ensure your project meets the minimum PHP version requirement of 7.4.
composer require michel/vardumper
The library provides two main functions for debugging: dump() and dd(). These functions allow you to inspect variables in a readable format, with support for both CLI and HTML output.
dump() FunctionThe dump() function outputs the variable(s) passed to it without terminating the script. This is useful for inspecting variables during the execution of your code.
<?php
require 'vendor/autoload.php';
$data = [
'name' => 'John Doe',
'age' => 30,
'email' => 'john.doe@example.com'
];
dump($data);
dd() FunctionThe dd() function (short for "dump and die") outputs the variable(s) passed to it and then terminates the script. This is useful for debugging and inspecting variables at a specific point in your code.
<?php
require 'vendor/autoload.php';
$data = [
'name' => 'John Doe',
'age' => 30,
'email' => 'john.doe@example.com'
];
dd($data);
The library automatically detects the environment (CLI or web) and formats the output accordingly. You can also manually specify the output format if needed.
When running in a CLI environment, the output is formatted for readability in the terminal.
<?php
require 'vendor/autoload.php';
$data = [
'name' => 'John Doe',
'age' => 30,
'email' => 'john.doe@example.com'
];
dump($data);
CLI Output Example:
array(3) [
[name] => (string) "John Doe"
[age] => (int) 30
[email] => (string) "john.doe@example.com"
]
When running in a web environment, the output is formatted with HTML for better readability in the browser.
<?php
require 'vendor/autoload.php';
$data = [
'name' => 'John Doe',
'age' => 30,
'email' => 'john.doe@example.com'
];
dump($data);
HTML Output Example:
<div id="var_dump_7426e40db5b46be3c13051ff19d2eff0" class="__beautify-var-dumper">
<span class="type caret caret-down" data-target="#target_0fa6bec56ef91af4269ff3ac1ec702e4">array</span>
<small><i>(Size: 3)</i></small> (
<br>
<div class="nested active" id="target_0fa6bec56ef91af4269ff3ac1ec702e4">
<span class="key">name</span> =>
<span class="string">
<span class="type">string</span> 'John Doe'
</span>
<small><i>(Lenght: 8)</i></small>
<br>
<span class="key">age</span> =>
<span class="number">
<span class="type">int</span> 30
</span>
<br>
<span class="key">email</span> =>
<span class="string">
<span class="type">string</span> 'john.doe@example.com'
</span>
<small><i>(Lenght: 20)</i></small>
<br>)
</div>
</div>
You can also customize the output by passing a custom OutputInterface implementation to the VarDumper constructor.
<?php
require 'vendor/autoload.php';
use Michel\Debug\VarDumper;
use Michel\Debug\Output\OutputInterface;
class CustomOutput implements OutputInterface
{
public function print($data): void
{
// Custom output logic here
echo "Custom Output: " . print_r($data, true);
}
}
$data = [
'name' => 'John Doe',
'age' => 30,
'email' => 'john.doe@example.com'
];
$varDumper = new VarDumper(new CustomOutput());
$varDumper->dump($data);
This library is open-source software licensed under the MIT license. See the LICENSE file for more information.