PHP code example of devportolio / laravel-dump-viewer
1. Go to this page and download the library: Download devportolio/laravel-dump-viewer 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/ */
devportolio / laravel-dump-viewer example snippets
class MyCommand extends Command
{
public function handle()
{
$data = $this->fetchData();
dumpx($data)->label('Command Data');
$this->info('Data dumped to viewer!');
}
}
$user = User::with('posts', 'comments')->first();
dumpx($user)->label('User with Relations');
// Beautifully renders model attributes and relationships
$users = User::take(100)->get();
dumpx($users)->label('Users Collection');
// Smart rendering with expand/collapse
// config/dump-viewer.php
return [
// Enable/disable the dump viewer
'enabled' => env('DUMPX_ENABLED', true),
// Route to access the viewer
'route' => env('DUMPX_ROUTE', 'dump-viewer'),
// Maximum dumps to store
'storage_limit' => env('DUMPX_STORAGE_LIMIT', 500),
// Storage driver (file, redis, database, etc.)
'storage_driver' => env('DUMPX_STORAGE_DRIVER', 'file'),
// Middleware for the viewer route
'middleware' => ['web'],
];
// Organize related dumps
dumpx($query)->label('DB Query');
dumpx($result)->label('Query Result');
dumpx($processed)->label('Processed Data');
// Filter by label in the viewer
// All values get the same label
dumpx($var1, $var2, $var3)->label('Test Variables');
// Use ->stop() to dump and halt execution
dumpx($criticalData)->label('Critical Error')->stop();
// Or chain it
dumpx($data)->label('Before Error')->stop();
// Automatically truncates large collections
$users = User::all(); // 10,000 users
dumpx($users)->label('All Users');
// Shows warning and first 100 items
// Better approach:
dumpx(User::take(50)->get())->label('Sample Users');
public function store(Request $request)
{
dumpx($request->all())->label('Request Data');
$validated = $request->validate([...]);
dumpx($validated)->label('Validated Data');
$user = User::create($validated);
dumpx($user)->label('Created User');
return response()->json($user);
}
class DumpViewerAccess
{
public function handle($request, Closure $next)
{
if (!app()->environment('local')) {
abort(404);
}
return $next($request);
}
}
// config/dump-viewer.php
'middleware' => ['web', DumpViewerAccess::class],
// Good: Organized and filterable
dumpx($query)->label('DB: User Query');
dumpx($result)->label('DB: Query Result');
dumpx($user)->label('User: Loaded');
dumpx($posts)->label('User: Posts');
// Bad: Hard to find and organize
dumpx($query);
dumpx($result);
// In your bootstrap or test setup
if (app()->environment('testing')) {
app('dumpx')->clear();
}
// Keep viewer open in browser
// Run commands in Tinker
// Refresh browser to see dumps
// Dump for immediate visibility
dumpx($data)->label('Debug Point');
// Log for permanent record
Log::debug('Debug point', ['data' => $data]);