Weekend Laravel Improvements

This week as I was working on a fresh application idea a couple of “paper cuts” in Laravel jumped out at me. I like to think of framework paper cuts as small things that can be easily fixed to improve developer experience.

Exception Rendering

The first paper cut I noticed was exception rendering. Some of you may have been forced to create if statements like the following within your exception handler’s render method:

If you have many types of custom exceptions and responses, these if statements can become tedious. So, in Laravel 5.5 you may simply define a render method directly on the exception:

Job Chaining

The second paper cut I encountered was the need to run several queued jobs in sequence, where each job only dispatches if the one before it finishes successfully. This behavior is already possible if you manually dispatch each job from the handle method of its previous job, but I don’t like that approach because it makes the jobs aware that they are being chained. I don’t want any jobs to be aware they are being chained and I want to have total freedom to re-arrange the order of the jobs or add new jobs without modifying the jobs themselves.

So, for Laravel 5.5, I’ve implemented the ability to do this very easily using a new chain method when dispatching a job:

Hopefully you enjoy these new features! Let me know if you encounter any other “paper cuts”!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.