Passage en revue des nouveautés de Laravel 10 !
Élévation de la version minimal de PHP
Ce changement de version implique une élévation de la version minimal exigée de PHP qui passe à 8.1.0
.
De plus, il sera nécessaire de monter les versions des paquets suivants :
-
laravel/framework
:^10.0
-
spatie/laravel-ignition
:^2.0
-
nunomaduro/collision
:^7.0
-
phpunit/phpunit
:^10.0
Nouveau service de gestion des processus
Le service Process
est une nouvelle couche d’abstraction qui nous permet d'interagir avec les processus du système, exemple :
1use Illuminate\Support\Facades\Process;2 3$result = Process::run('ls -la');4 5return $result->output();
Révision de la base de code en ajoutant du typage
Ce passage de version a été l’occasion de profiter des dernières nouveautés de PHP en ajoutant du typage sur le code côté UserLand, c’est à dire le code utilisé par les développeurs pour créer leur application, y compris les stubs qui sont les classes générées par les commandes make
.
Pennant: un Feature Flag maison
Un Feature Flag permet de gérer la mise à disposition des fonctionnalités de notre application en fonction de critères arbitraires.
Tout d’abord, il est nécessaire d’ajouter le paquet comme ceci :
1composer require laravel/pennant
Ensuite, on passe à la définition des critères qui peut se faire à minima dans un ServiceProvider
:
1<?php 2 3namespace App\Providers; 4 5use App\Models\User; 6use Illuminate\Support\Lottery; 7use Illuminate\Support\ServiceProvider; 8use Laravel\Pennant\Feature; 9 10class AppServiceProvider extends ServiceProvider11{12 /**13 * Bootstrap any application services.14 */15 public function boot(): void16 {17 Feature::define('new-api', fn (User $user) => match (true) {18 $user->isInternalTeamMember() => true,19 $user->isHighTrafficCustomer() => false,20 default => Lottery::odds(1 / 100),21 });22 }23}
Comme on peut le voir, les critères peuvent être définit en fonction de l’utilisateur connecté ou bien aléatoirement.
La dernière étape consiste à effectuer le test à l’endroit où se trouve la fonctionnalité :
1Feature::active('new-api'); // bool
Comment changer de version ?
Après ce passage en revue des fonctionnalités principales de cette version 10, il est temps de monter de version.
Pour cela rien de mieux que suivre le guide officiel.
De plus, afin d’avoir une vision concrète des changement nous vous conseillons de lire le diff entre les deux dernières versions.
A lire
Autres articles de la même catégorie
API Platform Conference 2024 : On y sera !
Rendez-vous le 19 septembre 2024 à Lille
Laravel 9.4 est disponible !
Voyons les modifications les plus importantes de cette version.
Vite remplace Laravel Mix
Vite devient officiellement le nouvel outil de compilation du front de Laravel.