Laravel 11 — Ce qui a vraiment changé
Laravel 11 marque un tournant dans l'évolution du framework. Au-delà des nouvelles fonctionnalités, c'est la structure même de l'application qui a été repensée pour plus de légèreté et de lisibilité.
La nouvelle structure d'application
La grande nouveauté de Laravel 11 est la suppression de nombreux fichiers par défaut qui encombraient les projets.
Ce qui a disparu
app/Http/Kernel.php— absorbé dansbootstrap/app.phpapp/Console/Kernel.php— idemapp/Exceptions/Handler.php— idem- La plupart des providers de base
Le nouveau bootstrap/app.php
<?php
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->web(append: [
\App\Http\Middleware\HandleInertiaRequests::class,
]);
})
->withExceptions(function (Exceptions $exceptions) {
$exceptions->report(function (InvalidOrderException $e) {
// ...
});
})->create();
Les nouveautés PHP 8.3
Typed Class Constants
class Status
{
const string PUBLISHED = 'published';
const string DRAFT = 'draft';
const int DEFAULT_READ_TIME = 5;
}
readonly Properties dans les constructeurs
class ArticleDTO
{
public function __construct(
public readonly string $title,
public readonly string $content,
public readonly bool $published = false,
) {}
}
Le nouveau Health Check
Laravel 11 introduit un endpoint /up natif pour les health checks :
->withRouting(
web: __DIR__.'/../routes/web.php',
health: '/up',
)
Parfait pour les environnements Kubernetes et les load balancers.
Verdict
Laravel 11 est une évolution mature qui allège considérablement le scaffold initial. La structure réduite est un gain réel pour les nouveaux projets.
Aucun commentaire pour le moment.