Laravel 10 est disponible !

Publié le 15 février 2023 par William Suppo
Couverture de l'article Laravel 10 est disponible !

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 :

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 ServiceProvider
11{
12 /**
13 * Bootstrap any application services.
14 */
15 public function boot(): void
16 {
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.

William Suppo avatar
William Suppo
Je mange du PHP au p'tit dej', et vous ?

A lire

Autres articles de la même catégorie