1. Go to this page and download the library: Download gerardpastor/dumper library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gerardpastor / dumper example snippets
use Deg\Dumper\Dumper;
Dumper::enable(Dumper::BROWSER);
use Deg\Dumper\Dumper;
$dumper = Dumper::enable(Dumper::BROWSER);
$dumper->getBacktraceFactory()->addExcule('Foo/Var');
//Or
$dumper->getBacktraceFactory()->addExcule(__DIRECTORY__ . '/foo/var');
use Deg\Dumper\Dumper;
$dumper = Dumper::enable(Dumper::BROWSER, false);
$dumper->dump('foo');
use Deg\Dumper\Dumper;
$dumper = Dumper::enable(Dumper::BROWSER, false);
Dumper::defineGlobalFunctions();
dump('foo');
namespace Foo\Var;
use Deg\Dumper\Parser\VarParser;
use Deg\Dumper\Parser\TokenStream;
use Deg\Dumper\Parser\TokenStreamBuilder;
class MyCustomTokenizer implements TokenizerInterface
{
public function tokenize($var, $deep, VarParser $parser)
{
$type = gettype($var);
$builder = new TokenStreamBuilder();
// Build the stream using a TokenStreamBuilder
$builder
->addKeyword($type)
->addBrace('(')
->addNumber($var)
->addBrace(')')
;
// Tokenizer must return a TokenStream
return $builder->getStream();
}
public function accept($var)
{
// It establishes if this tokenizer can tokenize the given variable
return is_number($var);
}
public function getConfidence()
{
// It defines how specific is this tokenizer (higher number means more specific)
return 20;
}
}
use Deg\Dumper\Dumper;
$dumper = Dumper::enable(Dumper::BROWSER);
$dumper->getVarParser()->addTokenizer(new Foo\Var\MyCustomTokenizer());
namespace Foo\Var;
class MyCustomOutput extends Output
{
public function __construct(FormatterInterface $formatter = null)
{
$formatter = $formatter ? : new HtmlFormatter();
parent::__construct($formatter);
}
protected function doWrite($message)
{
print $message;
}
}
use Deg\Dumper\Dumper;
$output = new Foo\Var\MyCustomOutput;
$dumper = Dumper::enable($output);
// or
$dumper->setOutput($output);
namespace Foo\Var;
class MyCustomFormatter implements FormatterInterface
{
public function formatStream(TokenStream $stream)
{
$buffer = '';
while ($stream->hasNext()) {
$token = $stream->getNext();
$buffer .= $this->formatToken($token);
}
return $buffer;
}
public function formatToken(Token $token)
{
return $token->getDescription() ?: $token->getValue();
}
}
use Deg\Dumper\Dumper;
$formatter = new Foo\Var\MyCustomFormatter;
$dumper = Dumper::enable(Dumper::BROWSER);
$dumper->getOutput()->setFormatter($formatter);
use Deg\Dumper\Dumper;
use Deg\Dumper\Backtrace\Backtrace;
use Deg\Dumper\Parser\VarParser;
use Deg\Dumper\Parser\BacktraceParser;
use Deg\Dumper\Output\BrowserOutput;
$varParser = new VarParser();
$varParser->addTokenizer(new Tokenizer\GenericTokenizer());
$backtraceParser = new BacktraceParser();
$backtraceFactory = new Backtrace();
$output = new BrowserOutput();
$dumper = new Dumper($varParser, $backtraceParser, $backtraceFactory, $output);
$dumper->dump('foo');