laravel-dump-server icon indicating copy to clipboard operation
laravel-dump-server copied to clipboard

The package overrides the default Laravel's VarDumpers and file context disappears

Open ekateiva opened this issue 1 year ago • 1 comments

When this package is installed, it overrides VarDumper handler that comes from Laravel (Illuminate\Foundation\Http\HtmlDumper and Illuminate\Foundation\Console\CliDumper).

To compare, when the package is not installed: Screenshot 2024-11-21 at 13 04 11

And when it is installed, but the command not running: Screenshot 2024-11-21 at 13 04 28

The same in CLI.

When the command (php artisan dump-server) is not running, I would like to see the file context by default.


Suggestion:

As a suggestion, maybe the setting could be introduced to enable/disable the package? E.g. config:

...
    'enabled' => env('DUMP_SERVER_ENABLED', true),
...

Then in DumpServerServiceProvider it could be conditionally loaded:

        if ($this->app['config']->get('debug-server.enabled')) {
            VarDumper::setHandler(function ($var) use ($connection) {
                $this->app->makeWith(Dumper::class, ['connection' => $connection])->dump($var);
            });
        }

The command php artisan dump-server could give an error if it is not enabled:

        if (! config('dump-server.enabled')) {
            $this->error('The dump server is not enabled.');

            return;
        }

This would allow users to choose if they want it always enabled, or occasionally and would not override other VarDump registered handlers.

WDYT, I could open a pull request if it's reasonable idea.

ekateiva avatar Nov 21 '24 13:11 ekateiva

Somebody make this, but the change have conflicts need to be solve first https://github.com/beyondcode/laravel-dump-server/pull/94

gnovaro avatar Mar 19 '25 18:03 gnovaro