Laravel Tutorials

DD and Dump Are coming to Collections in Laravel 5.5

Published
DD and Dump Are coming to Collections in Laravel 5.5 image

Coming to Laravel 5.5 is two brand new methods on the Collections class that will make debugging easier than ever before. These are dd and dump.

Pretend you have a simple collection setup and are piping it through a few filters:

collect([1,2,3])->map(function($i){
return $i * 2;
})->reject(function($i){
return $i < 3;
});

Knowing what happens in each step of the chain is can be difficult and now you’ll have the option to either “dump” it out at a certain point, or “dump and die”. For example:

collect([1,2,3])->map(function($i){
return $i * 2;
})->dump()->reject(function($i){
return $i < 3;
});

dump() outputs the results at that moment and then continues processing, here is the results when running that code:

Collection {#181 ▼
#items: array:3 [▼
0 => 2
1 => 4
2 => 6
]
}

dd() on the other hand stops the process immediately and dumps out the results:

collect([1,2,3])->map(function($i){
return $i * 2;
})->dd()->reject(function($i){
return $i < 3;
});

And the results:

array:3 [▼
0 => 2
1 => 4
2 => 6
]

These will be welcomed features in Laravel 5.5 and if you’d like to start using these today, Spatie released a 3rd party package named Collection Macros that includes both of these methods and a few additional helpers.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Lerd: A Free, Open Source Herd Alternative for Linux and macOS image

Lerd: A Free, Open Source Herd Alternative for Linux and macOS

Read article
Let's Encrypt HTTPS on an IP Address With FrankenPHP image

Let's Encrypt HTTPS on an IP Address With FrankenPHP

Read article
Laravel Chores: Resumable Data Operations and Cleanups image

Laravel Chores: Resumable Data Operations and Cleanups

Read article
NativePHP v4: Build Native iOS and Android UI in Blade image

NativePHP v4: Build Native iOS and Android UI in Blade

Read article
Laravel Lock: Distributed Locks for Models and Routes image

Laravel Lock: Distributed Locks for Models and Routes

Read article
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article