![](https://www.letecode.com/storage/articles/January2022/K2Xdu4v5OruTcy8UbrMb.jpg)
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](http://letecode.com/storage/profile-photos/user-jean-claude-mbiya16448f9f326b25.png)
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
Posts similaires
Release : Sortie de Laravel 8.79
Laravel 8 Mail : La méthode simple pour envoyer des mail en Laravel 8
Introduction au Framework Laravel 7
Présentation générale du Framework Laravel
Tutoriel Laravel 8 - Livewire CRUD : insérer, Lire, modifier et supprimer
Catégories
Soyez au courant des dernières tendances
Abonnez-vous pour obtenir les meilleurs articles, tutoriels, astuces et informations !
Laissez votre commentaire à @johnmbiya