Skip to content

Laravel Tools ​

Introduction ​

The features listed on this page are available only for applications built on the Laravel Framework and require the LaraDumps Laravel package to work properly.

Routes ​

You can use the routes() method to list all Routes in a table format.

You may configure LaraDumps to exclude specific routes from the dump output.

php
ds()->routes();

Eloquent Model ​

You can use the model() method to view Eloquent Model's Attributes and Relationships.

php
use App\Models\User;

$firstUser = User::first();

ds()->model($firstUser);

Stringable Macro ​

Displays the current string in a Stringable Macro

php
use Illuminate\Support\Str;

Str::of('Hello')
    ->append(' World')
    ->ds();

Collection Macro ​

Displays the current state of a Collection Macro

php
collect(['hello', 'world'])
    ->ds('original input')
    ->map(fn($string) => ucfirst($string))
    ->ds('capitalize result');

Query Macro ​

You can also chain a ds() method before the query execution and, it will be dumped in the Desktop App:

php
use App\Models\User;

User::query()->where('name', 'Luan')
    ->ds()
    ->get();

WARNING

The macro feature doesn't require SQL Queries to be enabled in the configuration file.

Blade directive ​

For your convenience, LaraDums provides a @ds() Blade directive.

php
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
    @ds('Hello World')

Queries ​

To debug SQL queries, you must place the database call within the queriesOn() and queriesOff() methods.

For example:

php
use App\Models\User;

ds()->queriesOn('checking a user query');

User::query()->where('id', 20)->get();

ds()->queriesOff();

Ignoring Queries ​

Sometimes you may want to exclude certain queries from the debug dump. This could be helpful if you are looking for a specific query among a lot of others.

To ignore queries, you first need to publish the LaraDumps Laravel's config file. To do so, run the following command:

shell
php artisan vendor:publish --tag=laradumps-config

Now, you can configure the recently created file config/laradumps.php, adding the queries or route patterns that you do not want to see in your debug dump.

php
//config/laradumps.php

return [
    'queries' => [
        'ignore_sql_patterns' => [
            'select name from `flights`',
        ],
        'ignore_routes_patterns' => [
            'horizon/*',
            'telescope/*',
        ],
    ],
];

INFO

To Listen globally:

  • In Desktop App, choose your project and toggle: QUERIES, or set observers.queries : true in laradumps.yaml

Slow Queries ​

To monitor slow queries, just enable the "Slow Queries" option inside your project settings in the desktop app.

Alternatively, you may edit the option observers > slow_queries in your project's laradumps.yaml file.

You may configure laradumps.yaml and adjust the time limit that determines when a query's execution time is considered "slow". Just change the slow_queries > threshold_in_ms. The default time is 500 milliseconds.

yaml
#laradumps.yaml

observers:
  slow_queries: true

slow_queries:
  threshold_in_ms: 500

Table ​

You can use the table() method to display dumps in a table with a built-in search bar.

To build a table, you can pass an instace of an Eloquent Model or any iterable $data as the first argument. Next, you may add an optional string $name for the table name.

php
use App\Models\User;

$allUsers = User::all(['id', 'name', 'email']);

ds()->table($allUsers, 'my users table');

Markdown ​

Displays the markdown rendered as HTML.

php
ds()->markdown('# hello world!');

Logs ​

The Desktop App will receive and dump Laravel Logs entries whenever you enable the Log feature.

php
use Illuminate\Support\Facades\Log;

Log::info('Your message', ['0' => 'Your Context']);

Log::error('Your message', ['0' => 'Your Context']);

INFO

To Listen globally:

  • In Desktop App, choose your project and toggle: LOGS, or set observers.logs : true in laradumps.yaml

Laravel 11+ Log Context was supported

Laravel Boost Logs ​

By default, LaraDumps will ignore Laravel Boost's browser info messages.

To alter this behavior, change the laradumps.yaml file key logs.boost_info to true.

yaml
logs:
  boost_info: false

Mailable ​

Displays mail details and the HTML preview for an instance of a Illuminate\Mail\Mailable class.

php
ds()->mailable(new \App\Mail\TestMail());

INFO

To Listen globally:

  • In Desktop App, choose your project and toggle: MAIL, or set observers.mail : true in laradumps.yaml

HTTP Requests ​

Captures and displays all the properties of HTTP Requests within the httpOn() and httpOff() methods.

php
use \Illuminate\Support\Facades\Http;

ds()->httpOn();
    Http::get('https://jsonplaceholder.typicode.com/todos/1');
ds()->httpOff();

INFO

To Listen globally:

  • In Desktop App, choose your project and toggle: HTTP, or set observers.http : true in laradumps.yaml

Artisan Command ​

Captures and displays the called Artisan commands with their arguments, options and exit code.

php
use Illuminate\Support\Facades\Artisan;

ds()->commandsOn('running a command');
    Artisan::call('inspire');
ds()->commandsOff();

INFO

To Listen globally:

  • In Desktop App, choose your project and toggle: COMMANDS, or set observers.commands : true in laradumps.yaml

Scheduled Commands ​

To monitor scheduled commands, just enable the "Scheduled Commands" option inside your project settings in the desktop app.

Alternatively, you may edit the option observers > scheduled_commands in your project's laradumps.yaml file.

yaml
#laradumps.yaml

observers:
  scheduled_commands: true

Gates ​

To monitor Gates activity, just enable the "Gate" option inside your project settings in the desktop app.

Alternatively, you may edit the option observers > gate in your project's laradumps.yaml file.

yaml
#laradumps.yaml

observers:
  gate: true

Jobs ​

To monitor and dump executed Jobs, just enable the "Jobs" option inside your project settings in the desktop app.

Alternatively, you may edit the option observers > jobs in your project's laradumps.yaml file.

yaml
#laradumps.yaml

observers:
  jobs: true

Cache ​

Captures and displays Cache information loaded within the cacheOn() and cacheOff() methods.

php
ds()->cacheOn('My cache');

    // SET
    cache()->set('feature', 'Cache Observer');

    cache()->remember('name', 10, fn() => 'Anand Pilania');

    // HIT
    cache()->get('name');

    // FORGET
    cache()->forget('feature');

    // MISSED
    cache()->get('feature');

ds()->cacheOff();

INFO

To Listen globally:

  • In Desktop App, choose your project and toggle: CACHE, or set observers.cache : true in laradumps.yaml

Context ​

Displays the current state of Laravel Context

  • Enable in the desktop app: Settings → Layout tab → Show context (true)

Basic Usage ​

php
use Illuminate\Support\Facades\Context;

Context::set('key', 'value');

ds()->withContext();

Filtering Context by Key ​

Pass a key to display only the specified context value:

php
use Illuminate\Support\Facades\Context;

Context::set('key', 'value');

ds()->withContext('key');

INFO

Enable automatic context display for every dump by adding this to laradumps.yaml:

yaml
extra:
  context: true

Created By Luan Freitas