Skip to content

Instantly share code, notes, and snippets.

@bohanyang
Last active September 26, 2022 07:31
Show Gist options
  • Save bohanyang/4d468bd9000d2babbbb7774bd49cb3ed to your computer and use it in GitHub Desktop.
Save bohanyang/4d468bd9000d2babbbb7774bd49cb3ed to your computer and use it in GitHub Desktop.
Debug with dump() in Blesta

1. Install symfony/var-dumper

php7.4 "$(command -v composer)" require symfony/var-dumper

2. Save debug.php to lib/debug.php

wget -O lib/debug.php 'https://gist.github.com/bohanyang/4d468bd9000d2babbbb7774bd49cb3ed/raw/debug.php'

3. Edit lib/init.php and insert this block

// include debug
require_once dirname(__DIR__) . DIRECTORY_SEPARATOR
    . 'lib' . DIRECTORY_SEPARATOR . 'debug.php';

4. Run dump server in a Symfony project

bin/console server:dump
<?php
// lib/debug.php
// include autoloader
require_once dirname(__DIR__) . DIRECTORY_SEPARATOR
. 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\CliDumper;
use Symfony\Component\VarDumper\Dumper\ContextProvider\CliContextProvider;
use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider;
use Symfony\Component\VarDumper\Dumper\HtmlDumper;
use Symfony\Component\VarDumper\Dumper\ServerDumper;
use Symfony\Component\VarDumper\VarDumper;
$cloner = new VarCloner();
$fallbackDumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg']) ? new CliDumper() : new HtmlDumper();
$dumper = new ServerDumper('tcp://127.0.0.1:9912', $fallbackDumper, [
'cli' => new CliContextProvider(),
'source' => new SourceContextProvider(),
]);
VarDumper::setHandler(function ($var) use ($cloner, $dumper) {
$dumper->dump($cloner->cloneVar($var));
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment