1. Laravel Nova: Laravel Nova is a Laravel package which is used to create a beautiful admin panel. You can install it in your new project or even in the existing project via composer. Good news is that it even supports for Laravel 5.6. It uses Vuejs, Vue Router, and Tailwind as frontend. As Tailwind.css was recently released which is a utility CSS framework.

 

2. Email Verification: The framework introducing optional email verification feature with this release. To utilize this feature, you have to add the email_verified_at timestamp column to the user’s table migration that ships with the framework.

To advise newly joined users to verify their email, the User model should implement the MustVerifyEmail interface.

<?PHP

// App/User.php namespace App;

use Illuminate\Notifications\Notifiable;

use Illuminate\Contracts\Auth\MustVerifyEmail;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable implements MustVerifyEmail

{

// …

}

After implementing the interface, the newly registered members will receive an email containing a signed verification link. Once the user clicks this link, the application will automatically update the database and redirect the user to the intended location. This new feature also introduced a verified middleware. If you wish to protect your application’s routes from only verified members, it can be attached to the application routes.

‘verified’ => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,

 

3. Guest User Gates / Policies: Guest User Gates is another useful feature that is coming in Laravel 5.7. Until now, Laravel used to return false when visitors try to access unauthenticated routes. But in Laravel 5.7, you can type-hint the model or anything or simply return null to return accordingly.

Gate::define(‘update-post’, function (?User $user, Post $post) {

// …

});

4. Symfony Dump Server: The Symfony’s dump-server is coming to Laravel 5.7. It is a command via package built by a Laravel community member Marcel Pociot.

This feature will be a lot useful to debug an error on your application without interrupting the application runtime.

 

5. URL Generator & Callable Syntax: A new callable-like syntax for action URLs is coming to Laravel 5.7. It is the same as the in laravel 5.6 which accepts s string in action method. This main benefit of this new syntax is that you can directly navigate to the controller from it.

Basic syntax for callable syntax:

<?php

// PostsController is a controller

// index is a method name inside a controller

$url = action([PostsController::class, ‘index’]);

 

6. Resources Directory Changes: There will be a slight change in the resources directory in laravel 5.7. There is nothing new but the assets directory will be removed and js and sass directory will be opt-out to resources directory. Taylor announced in one of his tweets that resources directories will be flattened as below:

When you upgrade the laravel version, you don’t need to reconstruct the resources/asset directory according to the newer directory structure. It will work will older structure.