You may have read previously about our preferred PHP framework Laravel, after 6 months of bug fixes and a year of security checks, Laravel 5.7 was released.

New features:


1. Console Artisan command testing:

Requesting user input, Laravel 5.7 allows for console command testing using various methods, such as expectsQuestion. In addition…

Code example:

Artisan::command('question', function () { ‘Do something’ });

 

2. Dump Server Integration:

Originally a package, this artisan command collects outputs in your current HTTP request. Instead of reviewing all the data being dumped on the server, all the API requests are caught and displayed on the console. This is useful to dump the data without all the browser HTTP errors.

Code example:

php artisan dump-server

 

Laravel now has customised pagination features, where on each side of the current link you can customise the quantity of links. With this new method there is no need to create custom pagination views. Thanks to a new API, you can define the link count on each side of the page.

Code example:

User::paginate(10)->linksOnEachSide(2);

 

4. Improved error message for dynamic calls:

In some cases it is useful to ask for the user’s input on the console; methods are in place to ask questions with another argument being the expected answer or multiple choice.

Code example:

Artisan::command('question', function () {
 $name = $this->ask('What is your name?');
});

 

5. Callable Action URLs:

With Laravel 5.7, there is no need to pass the full name of the controller, i.e. HomeController@index or ->name(‘index’), instead the controller class name is specified in the action and the URL name is automatically generated.

This action can also be referenced with the array syntax and accepts parameters as the second argument.

Code example:

return action([HomeController::class, ‘index’]);

 

6. Email Verification:

Authentication and user profile set up can/should implement some kind of verification of the user’s email. When implementing the new email verification a new column is added to the user’s table.

Now with Laravel’s Auth middleware, users can still register but can be restricted of authorities if their email is not verified. So the user’s verified email column is NULL, however once the user has verified their email address the column is replaced with a timestamp.

Code example:

Route::get(‘/‘, function(){
	return view(‘welcome’);
})->middleware(‘verified’);

References