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
版本:
Stephen Rees-Carter 在文件上传过程中为阻止 PHP 扩展名添加了.phar
扩展名:
默认情况下,Debian 支持执行 .phar 文件以及 .php 和 .phtml 文件,并且应该包含在阻止列表中。
见:salsa.debian.org/php-team/php/-/bl...
这也应该被移植到所有当前支持的 Laravel 版本中。
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(); });
Moshe Brodsky 贡献了一个 lazyByIdDesc()
方法,该方法通过按降序比较 ID 来对查询结果进行分块,从而延迟查询:
$query->lazyByIdDesc();
在处理大量数据时,您希望首先处理“较新”对象,这会很有用。
Oliver Kaufmann 的贡献将重置 URL 的生成移动到一个单独的方法中,用于PasswordReset
的通知。与VerifyEmail
类似,允许用户重写默认的 URL 生成逻辑,而无需覆盖toMail()
方法。
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'])));
您可以在下方查看新功能和更新的完整列表以及 GitHub 上的 8.71.0 和 8.73.1 之间的差异。以下发行说明直接来自 changelog:
SortedMiddleware
中的中间件优先级 (#39706)Illuminate/Auth/Notifications/ResetPassword::toMail()
(969f101)Illuminate/Support/Pluralizer::plural()
(#39641)Illuminate/Database/Query/Builder::limit()
(#39644)SortedMiddleware
.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.Moshe Brodsky a contribué à une méthoderrreee
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 passerFermeture
en tant que TTL dans la méthodeCache::remember()
:Implémentation de lazyByIdDesc dans ordre décroissant (8.73)
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 dePasswordReset
. Semblable àVerifyEmail
, permet aux utilisateurs de remplacer la logique de génération d'URL par défaut sans remplacer la méthodetoMail()
. 🎜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éthodeis_countable()
de PHP, qui implémente l'interfaceCountable
. Vos détections peuvent être transmises comme deuxième argument. : 🎜rrreeeNotes 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!