Laravel 11.24 nouvelle release
Arthur Monney
@mckenziearts
La team Laravel a publié la version 11.26 cette semaine, avec la possibilité d'arrêter un pool de processus, l'utilisation d'Enums pour définir la limitation des taux (Rate Limiting), une commande Artisan pour créer un Job Middleware et plus encore.
Utiliser BackedEnum pour Rate Limiting
Seth Phat a contribué à l'utilisation de BackedEnum
et UnitEnum
pour enregistrer un rate limiter:
use Illuminate\Support\Facades\RateLimiter; RateLimiter::for( GlobalRateLimit::HUBSPOT, fn () => Limit::perSecond(100, 10));
Vous pouvez également les utiliser le RateLimited queue job :
use Illuminate\Queue\Middleware\RateLimited; public function middleware(): array{ return [ new RateLimited(GlobalRateLimit::HUBSPOT) ];}
make:job-middleware
Ajout de la commande Davey Shafik a contribué à la création de la commande Artisan make:job-middleware
pour créer un nouveau job middleware dans le namespace App\Jobs\Middleware
:
php artisan make:job-middleware RateLimited
Process
et Pool
Ajout de la méthode a stop() pour Mathias Hansen a contribué à une mise à jour permettant d'arrêter tous les processus en cours d'exécution dans un pool :
// Single process example//// ...$process->stop(); //// Pool example//$this->pool = Process::pool(function (Pool $pool) { $pool->path(base_path())->command('sleep 5'); $pool->path(base_path())->command('sleep 10');})->start(); // Stop the processes gracefully$this->pool->stop(); // Stop the processes with a specific signal$this->pool->stop($signal);
make:model
Ajout d'une annotation pour les Factory via Punyapal Shah a contribué à une mise à jour de la commande make:model
qui inclura une annotation générique pour le trait HasFactory
. Cela aidera les IDE à comprendre le type de factory retourné pour un appel Model::factory()
.
Avant Laravel 11.26, le stub générait le code :
namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory;use Illuminate\Database\Eloquent\Model; class Post extends Model{ use HasFactory;}
Avec la nouvelle release 11.26 :
namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory;use Illuminate\Database\Eloquent\Model; class Post extends Model{ /** @use HasFactory<\Database\Factories\PostFactory> */ use HasFactory;}
Notes de version
Vous pouvez consulter la liste complète des nouvelles fonctionnalités et des mises à jour ci-dessous, ainsi que la différence entre les versions 11.25.0 et 11.26.0 sur GitHub en consultant le fichier changelog
Ceci est un article traduit provenant du site Laravel news. L'article original est accessible via ce lien
Arthur Monney
@mckenziearts
Fullstack Designer - Laravel & React Developer. Laravel Cameroon Organizer @laravelcm | @shopperlabs