Laravel Open Source PHP
2 min de lecture 36 vues

Laravel 11.24 nouvelle release

mckenziearts

Arthur Monney

@mckenziearts

Laravel 11.24 nouvelle release

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)
];
}

Ajout de la commande make:job-middleware

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

Ajout de la méthode a stop() pour Process et Pool

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 = Process::timeout(120)->start('bash import.sh');
// ...
$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);

Ajout d'une annotation pour les Factory via make:model

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

mckenziearts

Arthur Monney

@mckenziearts

Fullstack Designer - Laravel & React Developer. Laravel Cameroon Organizer @laravelcm | @shopperlabs

Vous aimez cet article ? Faite le savoir en partageant