Laravel 5.8 released
What is Laravel?
Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. Some of the features of Laravel are a modular packaging system with a dedicated dependency manager, different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and its orientation toward syntactic sugar.
What’s New in Laravel 5.8
Laravel 5.8, which released on February 26th, 2019, ships with a new Eloquent relationship, automatic policy discovery, PHPUnit 8 support, and so much more. In this series, one-by-one, we’ll dig into the most important updates you need to know about.
Some of the new features include:
An integration with PHP dotenv 3.0 ships with Laravel 5.8 and includes the following new features through PHP dotenv 3.0:
- More flexibility in terms of which parts of the environment we try to read and modify
- First-class support for multi-line variables
- No more trimming of values, you get them exactly as-is now
- Accept a list of paths to try in order looking for the dotenv file, rather than a single path
- Stronger validation of variable names to avoid silent failures or obscure errors
Check out our PHP dotenv 3.0 Released article for full details on the v3.0 updates.
Laravel 5.8 is capable of using either Carbon v1 or Carbon v2, including the ability to use
CarbonImmutable, and even make
CarbonImmutable the default. Localization has changed quite a bit in Carbon v2, with much better internationalization support offered than v1. You can learn more from our writeup Carbon Updates Coming to Laravel 5.8.
Cache TTL Changes
A significant change that might have a moderate to high impact is the Cache TTL Changes Coming to Laravel 5.8. Passing integers to cache methods represents seconds now instead of minutes. Check out my article if you want to change from integer values to a Carbon or
\DateInterval instance during the migration process.
Deprecated String and Array Helpers
Don’t be too alarmed that String and Array helpers are deprecated in Laravel 5.8. They offer little value (asides from style) over using the class equivalents, and Laravel plans on releasing the helpers as an optional package if you want to keep using them.
Learn more: Laravel 5.8 Deprecates String and Array Helpers
Automatic Policy Resolution
Starting in Laravel 5.8, as long as policies and models are in conventional locations, you will not need to register them in the
If you prefer to use non-conventional paths for models and policies, you can register a callback to register policies or continue to configure them manually: