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.
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
Laravel 9 : Quoi de neuf dans cette nouvelle version du framework ?
SQL injections : Injection de règle de validation en Laravel
Laravel 8 Mail : La méthode simple pour envoyer des mail en Laravel 8
Comment héberger un projet Laravel sur un hébergement partagé ou Cpanel ?
Exemple simple Authentification en Laravel
Catégories
Soyez au courant des dernières tendances
Abonnez-vous pour obtenir les meilleurs articles, tutoriels, astuces et informations !
Laissez votre commentaire à @johnmbiya