Release : Sortie de Laravel 8.79 - Letecode

Release : Sortie de Laravel 8.79

L'équipe Laravel a publié la version 8.79 avec une recherche en texte intégral pour MySQL et PostgreSQL, de nouvelles méthodes Stringable et les dernières modifications de la branche v8.x.

Jean Claude Mbiya
Jean Claude Mise à jour : 19 décembre 2022 762

Voici les dernières modifications de la branche 8.x du framework Laravel avant la sortie de 9.x

Méthode onLastPage() de Paginator

Johan van Helden a contribué une méthode onLastPage() au Paginator qui aide à clarifier la logique autour de la dernière page :

 

@if ($paginator->onFirstPage())

    {{-- ... --}}

@endif


{{-- Avant --}}

@if (!$paginator->hasMorePages())

    {{-- ... --}}

@endif

 

{{-- Apres --}}

@if ($paginator->onLastPage())

    {{-- ... --}}

@endif

Autoriser les dépendances variadiques typées par méthode

Léo Colombaro a contribué à la capacité d'utiliser variadic pour l'injection de dépendance lors de l'appel d'un callable. Voici un exemple tiré du pull request :

 

$app->bind(Filter::class, function ($app) {

    return [

        $app->make(NullFilter::class),

        $app->make(ProfanityFilter::class),

        $app->make(TooLongFilter::class),

    ];

});

 

$app->call(function (Logger $logger, Filter ...$filters) {

    // ...

});

Implémenter la recherche en texte intégral pour MySQL et PostgreSQL

Dries Vints a contribué à la recherche en texte intégral en langage naturel pour MySQL et PostgreSQL. Voici quelques exemples tirés du Pull Request #40129 :

 

Schema::create('articles', function (Blueprint $table) {

    $table->id('id');

    $table->string('title', 200);

    $table->text('body');

    $table->fulltext(['title', 'body']);

});

 

// Search for "databases" in the title and body fulltext index...

$articles = DB::table('articles')

    ->whereFulltext(['title', 'body'], 'database')

    ->get();

 

// Search for "databases" in the title and body fulltext index with boolean mode...

$articles = DB::table('articles')

    ->whereFulltext(['title', 'body'], 'database', ['mode' => 'boolean'])

    ->get();

 

// Search for "databases" in the title and body fulltext index with an expanded query...

$articles = DB::table('articles')

    ->whereFulltext(['title', 'body'], 'database', ['expanded' => true])

    ->get();

Nouvelles méthodes stringables

Travis Elkins a contribué à deux méthodes Stringable, whenContains() et whenContainsAll():

 

// Avant

$stringable = Str::of('some important announcement');


if ($stringable->contains(['important', 'emergency'])) {

    $stringable->upper();

}
 

return (string) $stringable;


// Apres

return (string) Str::of('some important announcement')

    ->whenContains(

        ['important', 'emergency'],

        fn (Stringable $stringable) => $stringable->upper(),

    );

}

La méthode whenContainsAll() fonctionnerait de la même manière. Cependant, la chaîne doit contenir toutes les correspondances attendues pour créer la condition true qui déclenche l'appel de fermeture.

 

Travis Elkins a également contribué à d'autres méthodes Stringable dans le Pull Request #40320 :

  • endsWith()
  • exactly()
  • is()
  • isAscii()
  • isUuid()
  • test()
  • startsWith()

Notes de version

Vous pouvez voir la liste complète des nouvelles fonctionnalités et mises à jour ci-dessous et la différence entre 8.78.0 et 8.79.0 sur GitHub. Les notes de version suivantes sont directement issues des notes de version v8.79.0 :

 

v8.79.0

Ajouté

  • Ajout de la méthode onLastPage au Paginator ( #40265 )
  • Autoriser les dépendances variadiques typées par méthode ( #40255 )
  • Ajout de ###ably/ably-php à composer.json pour suggérer ( #40277 )
  • Implémenter la recherche en texte intégral pour MySQL et PostgreSQL ( #40129 )
  • Ajouté whenContains et whenContainsAll à Stringable ( #40285 )
  • Prise en charge de la configuration action_level dans LogManager ( #40305 )
  • Ajout de whenEndsWith(), whenExactly(), whenStartsWith(), etc. à Stringable ( #40320 )
  • Facilite l'ajout d'options supplémentaires à PendingBatch ( #40333 )
  • Méthode ajoutée aux événements MigrationsStarted/MigrationEnded ( #40334 )

Fixé

  • Mailer de basculement fixe lorsqu'il est utilisé avec les mailers Mailgun et SES ( #40254 )
  • Chiffres fixes entre les fractions ( #40278 )
  • Correction de la pagination du curseur avec HasManyThrough ( #40300 )
  • Attributs virtuels fixes ( 29a6692 )
  • Option de fuseau horaire fixe dans la commande ### schedule:list ( #40304 )
  • Correction des mappages de type Doctrine créant trop de connexions ( #40303 )
  • Correction de la résolution de la classe Blueprint hors du conteneur ( #40307 )
  • Gérer l'incompatibilité de type dans la règle de validation enum ( #40362 )

Modifié

  • Ajouter automatiquement une description d'événement lors de la planification d'une commande ( #40286 )
  • Mettre à jour l'instanciateur Pluralizer Inflector ( #40336 )

 

Source : Laravel News

 

2
Jean Claude Mbiya
Jean Claude Mbiya

Développeur Web full stack, Développeur Android (Certifié Google AAD) Formateur dans les domaines du numérique, Créateur letecode.com 👨‍💻. Je suis un grand passionné des nouvelles technologies et j'adore partager ce que j'apprend.

0 commentaire(s)

Laissez votre commentaire à @johnmbiya

ou pour laisser un commentaire