Release : Sortie de Laravel 8.79 - Letecode
Formation en Ligne en Développement Web Full stack : Début le 15 Octobre Inscrivez vous ici

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 - 16 janvier 2022 379 Laravel

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é 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
Formation en Ligne en Développement Web Full stack : Début le 15 Octobre Inscrivez vous ici