Catégories
Laravel

Laravel 8.58

Laravel 8.58 est sortie le 31 aout 2021 et voici ce qu’apporte cette nouvelle version.

Au menu de cette version Laravel 8.58

L’équipe Laravel a ajouté une méthode updateOrFail() à Eloquent, 2 nouvelles méthodes de validation de règle (prohibits, required_without) et à modifié d’UPPERCASE en LOWERCASE les noms de chiffrement en OpenSSL, car OpenSSL < 1.1.0 ne reconnaît pas les noms de chiffrement en UPPERCASE.

Ajout de la méthode updateOrFail() au modèle Eloquent

    public function updateOrFail(array $attributes = [], array $options = [])
    {
        if (! $this->exists) {
            return false;
        }

        return $this->fill($attributes)->saveOrFail($options);
    }

Le fichier modifié est : src/Illuminate/Database/Eloquent/Model.php

Méthodes de validation des règles

Validator::validate([
    'email' => 'example@example.com', 
    'emails' => ['example@example.com', 'other.example@example.com']
], [
    'email' => 'prohibits:emails'
]);

Si le champ ‘email‘ est fourni alors le champ ‘emails‘ ne sera pas pris en compte. C’est soit l’un, soit l’autre (NAND).

Validator::validate([
    'post_id' => 1, 
    'created_by' => 2,
    'created_at' => '2020-07-16 20:54:22'
], [
    'post_id' => 'prohibits:created_by,created_at'
]);

Ici, si les champs ‘created_by‘ ou ‘created_at‘ existe déjà, le fait de les resoumettre pour un ‘post_id‘ existant générera une erreur de validation car ces deux champs ne peuvent normalement être initialisés qu’à la création de l’enregistrement.

Validator::validate([
    'email' => 'example@example.com', 
    'emails' => ['example@example.com', 'other.example@example.com']
], [
    'email' => ['prohibits:emails', 'required_without:emails']
]);

Ici, on rajoute à ‘prohibits‘ la règle ‘required_without‘ qui permet de s’assurer que seul un des deux champs sera fourni. Il s’agit d’un OU EXCLUSIF (XOR).

Si vous voulez regardez de plus prêt le contenu de cette nouvelle version sur Github, voici le contenu officiel de la note de version de Laravel 8.58 :

Added in Laravel 8.58

  • Added updateOrFail method to Model (#38592)
  • Make mail stubs more configurable (#38596)
  • Added prohibits validation (#38612)

Changed

A bientôt pour les prochaines versions de Laravel.

PS : hey les dev, vous pouvez aussi consulter mes autres articles concernant les releases de Laravel !

Abonnement unique O2Switch à 5€/mois

Par HappyToDev

Absolument passionné depuis toujours par l'informatique et la programmation, je souhaite via ce blog vous faire passer un peu du savoir que j'ai accumulé depuis des années.
Et même, pourquoi pas, vous aider à faire le premier pas dans le développement web.

Vous êtes prêts ?
Alors allons y ensemble et n'oubliez pas que les débutants sont vraiment les bienvenus.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.