Maison > cadre php > Laravel > Laravel 8.73 est sorti, quelles sont les mises à jour ?

Laravel 8.73 est sorti, quelles sont les mises à jour ?

藏色散人
Libérer: 2021-11-30 15:24:00
avant
2192 Les gens l'ont consulté

Laravel 8.73 est sorti, quelles sont les mises à jour ?

L'équipe Laravel a publié la version 8.73 avec la prise en charge des objets Countable dans les pluraliseurs de chaînes, permettant l'utilisation de fermetures pour déterminer la durée de vie du cache, la méthode de création de requêtes lazyByIdDesc() et les dernières modifications apportées à la branche v8.x.

Cet article contient certaines versions mises à jour au cours des derniers jours, y compris la récupération dans 8.73.1, alors assurez-vous de mettre à jour vers la dernière version 8.x : 8.73.1 中的恢复,因此请务必更新到最新的 8.x 版本:

将 .phar 添加到被阻止的 PHP 扩展名(8.73)

Stephen Rees-Carter 在文件上传过程中为阻止 PHP 扩展名添加了.phar 扩展名:

默认情况下,Debian 支持执行 .phar 文件以及 .php 和 .phtml 文件,并且应该包含在阻止列表中。

见:salsa.debian.org/php-team/php/-/bl...

这也应该被移植到所有当前支持的 Laravel 版本中。

允许在缓存 remember() 方法中将闭包作为 TTL 传递 (8.73)

Gerard Nesta 贡献了在 Cache::remember() 方法中将 Closure 作为 TTL 传递的方法:

 Cache::remember(
    'count_events_hosted',
    // 现在你可以通过一个闭包来计算 TTL
    function () use ($user) {
        // 当最近的事件结束时过期
        $closestEventEndsAt = $user->hostedEvents()
            ->select('ends_at')
            ->where('starts_at', '>', Date::now())
            ->orderBy('ends_at')
            ->limit(1)
            ->value('ends_at');

        return $closestEventEndsAt ?
            Date::parse($closestEventEndsAt) :
            60;
    },
    function () use ($user) {
        return $user->hostedEvents()->ended()->count();
    });
Copier après la connexion

按降序实现 lazyByIdDesc (8.73)

Moshe Brodsky 贡献了一个 lazyByIdDesc() 方法,该方法通过按降序比较 ID 来对查询结果进行分块,从而延迟查询:

$query->lazyByIdDesc();
Copier après la connexion

在处理大量数据时,您希望首先处理“较新”对象,这会很有用。

PasswordReset 方法用于重置 URL (8.72)

Oliver Kaufmann 的贡献将重置 URL 的生成移动到一个单独的方法中,用于PasswordReset的通知。与VerifyEmail类似,允许用户重写默认的 URL 生成逻辑,而无需覆盖toMail()方法。

为多元化器添加可计数支持 (8.72)

Michael Dyrynda 增加了Str::plural() 方法用于可计数值. 你可以传入任何通过PHP的is_countable()方法检测的内容,此方法实现了Countable接口,你可以将检测项作为第二个参数:

// Arrays
$this->assertSame('users', Str::plural('user', []));
$this->assertSame('user', Str::plural('user', ['one']));
$this->assertSame('users', Str::plural('user', ['one', 'two']));

// Collections
$this->assertSame('users', Str::plural('user', collect()));
$this->assertSame('user', Str::plural('user', collect(['one'])));
$this->assertSame('users', Str::plural('user', collect(['one', 'two'])));
Copier après la connexion

发行说明

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

v8.73.1

撤销

  • 撤销 使用父级解决SortedMiddleware中的中间件优先级 (#39706)

v8.73.0

添加

  • 在验证器中添加 .phar 以阻止 PHP 扩展(#39666)
  • 允许在 Cache remember() 方法中将闭包作为 ttl 传递 (#39678)
  • 向dependentRules 属性添加了禁止验证规则 (#39677)
  • 按降序实现 lazyById (#39646)

修复

  • 固定 Illuminate/Auth/Notifications/ResetPassword::toMail() (969f101)
  • 修正了 assertSoftDeleted & assertNotSoftDeleted (#39673)

v8.72.0

补充

  • 在 PasswortReset 中添加额外的方法来重置 URL 以匹配 VerifyEmail 的结构 (#39652)
  • 添加对可数表的支持 Illuminate/Support/Pluralizer::plural() (#39641)
  • 允许用户为 migrate 数据迁移指定选项 (#39637)

修复

  • 不为 null 时,仅将 $值强制转换 Illuminate/Database/Query/Builder::limit() (#39644)

改变

  • 使用父节点解析中间件优先级 SortedMiddleware

    Ajouter .phar aux extensions PHP bloquées (8.73)

  • Stephen Rees-Carter lors du téléchargement de fichiers Ajout de .phar extension pour bloquer les extensions PHP :
Par défaut, Debian prend en charge l'exécution des fichiers .phar ainsi que des fichiers .php et .phtml et doit être inclus dans la liste de blocage.

Voir : salsa.debian.org/php-team/php/-/bl...

Cela devrait également être porté sur toutes les versions de Laravel actuellement prises en charge.

Autoriser le passage des fermetures en tant que TTL dans la méthode cache Remember() (8.73)

Gerard Nesta a contribué à la méthode pour passer Fermeture en tant que TTL dans la méthode Cache::remember() :

rrreee

Implémentation de lazyByIdDesc dans ordre décroissant (8.73)

Moshe Brodsky a contribué à une méthode lazyByIdDesc() qui regroupe les résultats des requêtes en comparant les identifiants par ordre décroissant, retardant ainsi les requêtes :🎜rrreee🎜Cela peut être utile lorsque vous travaillez avec de grandes quantités de données pour lesquelles vous souhaitez traiter en premier les objets « plus récents ». 🎜

Méthode PasswordReset pour réinitialiser l'URL (8.72)

🎜La contribution d'Oliver Kaufmann a déplacé la génération de l'URL de réinitialisation vers un In une méthode distincte, utilisée pour la notification de PasswordReset. Semblable à VerifyEmail, permet aux utilisateurs de remplacer la logique de génération d'URL par défaut sans remplacer la méthode toMail(). 🎜

Ajout d'un support dénombrable pour les pluraliseurs (8.72)

🎜Michael Dyrynda a ajouté Str::plural( ) est utilisée pour les valeurs dénombrables. Vous pouvez transmettre tout ce qui est détecté par la méthode is_countable() de PHP, qui implémente l'interface Countable. Vos détections peuvent être transmises comme deuxième argument. : 🎜rrreee

Notes de version

🎜 Ci-dessous, vous pouvez voir la liste complète des nouvelles fonctionnalités et mises à jour ainsi que les différences entre 8.71.0 et 8.73.1 sur GitHub. Les notes de version suivantes sont tirées directement du changelog : 🎜

v8.73.1

Annuler

  • Annuler utilise le parent pour résoudre la priorité du middleware dans SortedMiddleware (#39706)🎜🎜

    v8.73.0

    Ajouter

    • Ajout de .phar dans le validateur pour empêcher les extensions PHP (#39666) 🎜
    • Autoriser le passage des fermetures en tant que ttl dans la méthode Cache Remember() (#39678) 🎜
    • Ajout d'une interdiction aux règles de validation de l'attribut dependRules (#39677) )🎜
    • Implémenter lazyById par ordre décroissant (#39646)🎜🎜

      Corrigé

        Corrigé Illuminate/Auth/Notifications/ResetPassword::toMail() (969f101)🎜
      • Correction de assertSoftDeleted et assertNotSoftDeleted (#39673)🎜🎜

        v8.72.0

        Supplément

        • Ajouter des méthodes supplémentaires dans PasswortReset pour réinitialiser l'URL afin qu'elle corresponde à la structure de VerifyEmail (#39652) 🎜
        • Ajouter la prise en charge des tables dénombrables Illuminate/Support/Pluralizer::plural() (# 39641)🎜
        • Autoriser les utilisateurs pour spécifier les options de migration des données (#39637)🎜🎜

          Corrigé

            Lorsqu'il n'est pas nul, uniquement lancez la valeur $Illuminate/Database/Query/Builder::limit() (#39644)🎜🎜

            Modifier

            • Utiliser le nœud parent pour résoudre la priorité du middleware SortedMiddleware (#39647)🎜🎜🎜🎜Adresse originale : https://laravel-news.com/laravel-8 -73-0🎜🎜Adresse de traduction : https://learnku.com/laravel/t/6🎜🎜Recommandations associées : 🎜Les cinq derniers didacticiels vidéo Laravel 3183🎜 🎜🎜

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!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal