Laravel 7 released – Top 12 features that you should know!

Laravel 7 has knocked the market with a bang. It has been loaded with so many new features including better routing speed, Laravel Airlock, custom Eloquent casts, fluent string operations, Blade component tags, a new HTTP client, and many more to deliver exceptional Laravel web application development solutions.

Before we dive into the new features we’d like to bring the fact into the limelight, beginning with version 6, Laravel now serves semver and will release a new major version every six months.

1. Laravel Airlock

Laravel Airlock provides a featherweight authentication system for mobile applications, SPAs (single page applications), and easy, token-based APIs. The airlock provides each user of your application to produce multiple API tokens for their account. These tokens may be conferred abilities/scopes which define the actions the tokens are entitled to perform.

2. Custom Eloquent Casts

Laravel has numerous built-in, convenient cast types; however, you may hardly need to determine your own cast types. You may now achieve this by determining a class that executes the Casts Attributes interface.

Classes that perform this interface must establish a get and set method. The get method is liable for transforming a raw value from the database into a casting value, while the set method should convert a casting value into a raw value that can be saved in the database.

3. Blade components tags & improvements

Blade components have been improved to allow tag-based rendering, component classes, attribute management, inline view components, and more.

In case, a component may now have an incorporated class which defines the data it affirms. All public properties and methods specified on the component class will automatically be made accessible to the component view. Any additional HTML properties specified on the component may be accomplished using the automatically included $attributes variable, which is an attribute bag instance.

4. HTTP Client

Laravel now implements a powerful, minimal API around the Guzzle HTTP client, enabling you to instantly make outgoing HTTP requests to interact with other web applications. Laravel’s wrapper around Guzzle is concentrated on its most popular use cases and excellent developer experience for Laravel App Development.

5. Fluent String Operations

You are likely close to Laravel’s enduring Illuminate\Support\Str class, which offers a variety of essential string manipulation functions. Laravel 7 now allows a more object-oriented, fluent string guidance library built on top of these functions. You may formulate a fluent such as Illuminate\Support\Stringable object using the Str:: of the method.

6. Route Model Binding Improvements

This feature is divided into categories, which are mentioned below:

  • Key customization:

Sometimes you may need to resolve Eloquent models utilizing a column other than id. To do so, Laravel 7 enables you to specify the column in the route parameter definition:

Route::get(‘api/posts/{post:slug}’, function (App\Post $post) {

return $post

});

  • Automatic scoping:

Sometimes, when completely binding multiple Eloquent models in a single route definition, you may want to scope the second Eloquent model such that it must be a descendant of the first Eloquent model. For instance, consider this circumstance that retrieves a blog post by idler for a specific user:

use App\Post;

use App\User;

Route::get(‘api/users/{user}/posts/{post:slug}’, function (User $user, Post $post) {

return $post;

});

7. Multiple mail drivers

Laravel 7 provides the configuration of various “mailers” for a single application. Each mailer configured within the mail configuration file may have its own benefits and even its own unique “transport”, enabling your application to utilize various email services to send certain email messages.

8. Route caching speed improvements

Laravel 7 involves a new method of uniting compiled, cached routes that have been cached using the route: cache Artisan command. On comprehensive applications, these developments can result in a 2x speed improvement in requests per second on a simple “Hello World” benchmark. No adjustments to your application are needed.

9. CORS Support and Query Time Casts

Laravel 7 covers first-party support for configuring Cross-Origin Resource Sharing (CORS) OPTIONS request acknowledgments by integrating the popular Laravel CORS package. On the other hand, sometimes you may need to implement casts while executing a query, such as when choosing a raw value from a table. This is where the new Query Time Casts come into play!

10. MySQL 8+ Database Queue Improvements

In earlier releases of Laravel, the database queue was not viewed strong enough for production usage, due to standoffs. However, Laravel 7 provides enhancements to applications using MySQL 8+ as their database-backed queue. By utilizing the FOR UPDATE SKIP LOCKED clause and other SQL improvements, the database driver may now carefully be used in higher volume production applications.

11. Mark Down Mail Template Improvements

The default Markdown mail template has gained a fresh, more contemporary design based on the Tailwind CSS color palette. Of course, this template can be distributed and customized according to your application’s requirements.

12. Stub Customization

The Artisan console’s make commands are utilized to generate a variety of classes, such as jobs, migrations, controllers, and tests. These classes are created using “stub” files that are populated with values based on your facts. However, you may sometimes need to make small adjustments to files generated by Artisan. To achieve this, Laravel 7 provides the stub: publish command to publish the most popular stubs for customization.

Conclusion

The new features of Laravel 7 have already exploded the market and you would find much positive response from entrepreneurs about this version.

Jainesh Shah is a CEO and Co-Founder of iCreative Technologies Inc. iCreative Technologies is a digital eCommerce agency mainly serving B2B clients across the globe. With over 15 years of experience in technology and business, he is helping his client thrive in this competitive era. He is specialized in eCommerce consulting, creative thinking, generating new business ideas, and delivering end products to market in the digital space. He is working with the vision to help his partner agencies and Clients to grow in their respective businesses.