March 12, 2020

Laravel Zero 7 is the next major release with various speed improvements and new components available. Check out the website and source code for further details.

Here are the main new features available in version 7 of Laravel Zero.

Symfony 5

The framework has been updated to use Symfony 5 components to match Laravel 7 core. The Symfony 5 updates allow for faster execution of code and add various new features to the command line.

The HTTP client

This is provided in Laravel Zero 7 as a new component and allows the full use of Laravel cores new wrapper around the Guzzle HTTP library.

The HTTP client includes logically-named methods that allow you to write fluent code such as the following:

use Illuminate\Support\Facades\Http; Http::withToken($apiToken) ->retry($times, $delayBetween) ->get('https://api.dev') ->successful();

Check out the Laravel documentation for details on using the HTTP client.

The "test" command

The test command that is implemented by Nuno Maduro's Collision package is now available in version 7. This provides an easy to use PHPUnit wrapper with beautiful error handling output on the command line.

Below is an example of the output from the <application> test command.

Configurable environments

Configurable environments are now available through the app.env configuration string value. This replaces the previous app.production boolean to allow more flexibility in applications.

Windows stand-alone releases

The app:build command now supports Windows (although not WSL). This is not officially supported by Box yet, so in some cases the build may fail.

However, having tested various application builds it seems to be quite reliable (although it does run for quite a lot longer).

Final remarks

Overall, I think that this release adds many new improvements to Laravel Zero, and will continue to make command line application development easier and faster for the PHP community.