Maison  >  Article  >  cadre php  >  Jetez un œil aux nouvelles fonctionnalités de la dernière version de Laravel8.78 !

Jetez un œil aux nouvelles fonctionnalités de la dernière version de Laravel8.78 !

藏色散人
藏色散人avant
2022-01-18 16:13:221655parcourir

La colonne tutorielle suivante de Laravel vous présentera les nouvelles fonctionnalités du dernier Laravel 8.78. J'espère qu'elle sera utile à tout le monde !

L'équipe Laravel a publié la version 8.78 avec la possibilité d'ajouter des règles personnalisées à la validation du mot de passe par défaut, la méthode de requête mergeIfMissing(), le comptage par lots dans les tests d'assertion et les dernières modifications apportées à la branche v8.x.

Définir des règles de validation de mot de passe par défaut supplémentaires

Ash Allen a contribué à la définition de règles de validation personnalisées qui seront exécutées dans le cadre des règles de mot de passe par défaut à l'aide de la méthode rules() : rules() 方法作为默认密码规则的一部分运行:

Password::defaults(function () {
    return Password::min(8)
        ->symbols()
        ->mixedCase()
        ->uncompromised()
        ->rules(new ZxcvbnRule());
});

rules() 方法接受单个规则、规则数组或闭包验证规则的闭包。

如果缺失合并请求数据

David Peach 提供了一个mergeIfMissing() HTTP 请求方法,如果请求中缺少键,该方法会将新输入合并到请求的输入中。

例如,如果您未选中表单复选框,则不会将其发送到服务器。您可能必须编写如下内容:

if ($request->missing('boolean_setting')) {
    $request->merge(['boolean_setting' => 0]);
}

现在,您可以定义在参数缺少时与请求合并的值:

$request->mergeIfMissing(['boolean_setting' => 0])

断言批次数

@Chrysanthos 为 Bus facade 贡献了一个 assertBatchCount() 方法,该方法断言已经调度了多少批次:

Bus::assertBatchCount(3);

HTML 字符串方法

Lars Klopstra 为 Str 和 Stringable 贡献了一个toHtmlString() 方法:

// 之前
new HtmlString(Str::of($content)->markdown());
 // 现在
Str::of($content)
    ->markdown()
    ->html();

发行说明

您可以在 GitHub 上面查看新功能和更新的完整列表以及 8.77.0 和 8.78.0 之间的差异。 以下发行说明直接来自 changelog:

v8.78.0

新增

  • 新增 schedule:clear-mutex 命令 (#40135)
  • 新增了自定密码验证规则的功能 (#40137)
  • 在 Illumbize Http 请求类中添加了一个 mergeIfMissing 方法 (#40116)
  • 新增 Illuminate/Support/MultipleInstanceManager (40913ac)
  • 新增 SimpleMessage::lines() (#40147)
  • 新增 Illuminate/Support/Testing/Fakes/BusFake::assertBatchCount() (#40217)
  • 使用广播驱动程序时仅启用 only-to-others 功能 (#40234)
  • 增加了在 JsonResource 响应上自定义 json 选项的功能 (#40208)
  • 新增 Illuminate/Support/Stringable::toHtmlString() (#40247)

更改

  • 改进对自定义列类型的支持 (#40119)
  • 删除控制台应用程序类中的无用检查 (#40145)
  • 当排序操作的第一个元素是字符串时(即使是可调用的),按键对集合进行排序 (#40212)
  • 如果有多个主机,请使用第一个主机  Illuminate/Database/Console/DbCommand::getConnection()rrreee
  • Les règles () accepte une seule règle, un tableau de règles ou une fermeture de règles de validation de fermeture.
  • Si les données de la demande de fusion sont manquantes

David Peach fournit une méthode de requête HTTP mergeIfMissing() qui fusionne la nouvelle entrée dans l'entrée demandée si une clé est manquante dans la requête.

    Par exemple, si vous ne cochez pas la case du formulaire, il ne sera pas envoyé au serveur. Vous devrez peut-être écrire quelque chose comme ceci :
  • rrreee
  • Vous pouvez maintenant définir une valeur à fusionner avec la requête lorsque le paramètre est manquant :
  • rrreee
  • Assert batch count
@Chrysanthos a contribué un assertBatchCount() code à la façade du bus > Méthode qui affirme combien de lots ont été planifiés : <p style="margin-bottom: 0px;">rrreee</p>Méthodes de chaîne HTML<p></p>Lars Klopstra a contribué à une méthode <code>toHtmlString() pour Str et Stringable :
rrreee🎜Notes de version🎜 🎜 Vous pouvez consulter la liste complète des nouvelles fonctionnalités et mises à jour ainsi que les différences entre 8.77.0 et 8.78.0 sur GitHub. Les notes de version suivantes sont tirées directement du changelog : 🎜🎜v8.78.0🎜🎜Nouveau 🎜🎜🎜Nouvelle commande schedule:clear-mutex (#40135) 🎜🎜Ajout de la possibilité de personnaliser les règles de vérification des mots de passe (#40137)🎜🎜Ajout d'une méthode mergeIfMissing dans la classe de requête Http Illumbize (#40116)🎜🎜Nouveau Illuminate/Support/MultipleInstanceManager (40913ac)🎜🎜Nouveau ajouté SimpleMessage::lines() (#40147)🎜🎜Ajout de Illuminate/Support/Testing/Fakes/BusFake::assertBatchCount() (#40217)🎜🎜Utilisez Activer uniquement le Fonctionnalité uniquement aux autres lors de la diffusion du pilote (#40234)🎜🎜Ajout de la possibilité de personnaliser les options json sur la réponse JsonResource (#40208)🎜🎜Ajout de Illuminate/Support/Stringable : :toHtmlString() (#40247) 🎜🎜🎜 Modifications 🎜🎜🎜 Améliorer la prise en charge des types de colonnes personnalisés (#40119) 🎜🎜 Supprimer les vérifications inutiles dans les classes d'application console (#40145)🎜🎜Trier les collections par clé lorsque le le premier élément de l'opération de tri est une chaîne (même si elle est appelable) (#40212)🎜🎜S'il y a plusieurs hôtes, utilisez le premier Illuminate /Database/Console/DbCommand::getConnection() (#40226)🎜🎜Améliorations de la classe Reflector (#40241)🎜🎜🎜Correction🎜🎜🎜Effacer les enregistrements lors de l'appel de Http::fake() (#40194)🎜🎜Correction de la conversion d'attribut (#40245, c0d9735)🎜🎜🎜🎜 Adresse originale : https://laravel-news.com/laravel-8-78-0🎜🎜Adresse traduite : https://learnku.com/laravel /t/64574🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:A quoi sert mix dans LaravelArticle suivant:A quoi sert mix dans Laravel