Das Laravel-Team hat 8.73 mit Unterstützung für zählbare Objekte in String-Pluralisierern veröffentlicht, die die Verwendung von Abschlüssen zur Bestimmung der Cache-TTL, der Abfrage-Builder-Methode lazyByIdDesc() und den neuesten Änderungen im v8.x-Zweig ermöglichen.
Dieser Artikel enthält einige Versionen, die in den letzten Tagen aktualisiert wurden, einschließlich der Wiederherstellung in 8.73.1
. Bitte aktualisieren Sie daher unbedingt auf die neueste 8.x
-Version: 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-Erweiterung zum Blockieren von PHP-Erweiterungen:
Standardmäßig unterstützt Debian die Ausführung von .phar-Dateien sowie .php- und .phtml-Dateien und sollte in die Blockierungsliste aufgenommen werden. Siehe: salsa.debian.org/php-team/php/-/bl... Dies sollte auch auf alle derzeit unterstützten Laravel-Versionen portiert werden.Moshe Brodsky hat einerrreee
Erlaube die Übergabe von Schließungen als TTL in der Cache-remember()-Methode (8.73)
Gerard Nesta hat zur Methode zur Übergabe vonSchließung
als TTL in derCache::remember()
-Methode:Implementierung von lazyByIdDesc in absteigende Reihenfolge (8.73)
lazyByIdDesc()
-Methode beigesteuert, die Abfrageergebnisse durch den Vergleich von IDs in absteigender Reihenfolge aufteilt und so Abfragen verzögert:🎜rrreee🎜Dies kann bei der Arbeit mit nützlich sein große Datenmengen, bei denen Sie „neuere“ Objekte zuerst verarbeiten möchten. 🎜PasswordReset-Methode zum Zurücksetzen der URL (8.72)
🎜Beitrag von Oliver Kaufmann hat die Generierung der Reset-URL auf ein In verschoben eine separate Methode, die für die Benachrichtigung überPasswordReset
verwendet wird. Ähnlich wieVerifyEmail
ermöglicht es Benutzern, die Standard-URL-Generierungslogik zu überschreiben, ohne die MethodetoMail()
zu überschreiben. 🎜Zählbare Unterstützung für Pluralisierer hinzufügen (8,72)
🎜Michael Dyrynda hatStr::plural( )
hinzugefügt >-Methode wird für zählbare Werte verwendet. Sie können alles übergeben, was von der PHP-Methodeis_countable()
erkannt wird, die die SchnittstelleCountable
implementiert : 🎜rrreeeVersionshinweise
🎜 Unten können Sie die vollständige Liste der neuen Funktionen und Updates sowie die Unterschiede zwischen 8.71.0 und 8.73.1 auf GitHub sehen. Die folgenden Versionshinweise stammen direkt aus dem Changelog: 🎜v8.73.1
Rückgängig
- Rückgängig machen verwendet übergeordnetes Element, um die Middleware-Priorität in der
SortedMiddleware
(#39706)🎜🎜
v8.73.0 Hinzufügen
- .phar im Validator hinzugefügt, um PHP-Erweiterungen zu verhindern (#39666) 🎜
- Übergabe von Abschlüssen als TTL in der Cache-remember()-Methode zulassen (#39678) 🎜
- Verbot für Validierungsregeln für das Attribut „dependentRules“ hinzugefügt (#39677). )🎜
- LazyById in absteigender Reihenfolge implementieren (#39646)🎜🎜
Behoben
Behoben Illuminate/Auth/Notifications/ResetPassword::toMail() (969f101)🎜
- asserSoftDeleted & AssertNotSoftDeleted (#39673) behoben🎜🎜
v8.72.0
Supplement
- Zusätzliche Methoden in PasswortReset hinzufügen um die URL zurückzusetzen, damit sie mit der Struktur von VerifyEmail übereinstimmt (#39652) 🎜
- Unterstützung für zählbare Tabellen hinzufügen
Illuminate/Support/Pluralizer::plural()
(# 39641)🎜- Benutzer zulassen um Optionen für die Datenmigration anzugeben (#39637)🎜🎜
Behoben
Nur wenn nicht null Wandeln Sie den $-Wert um
Illuminate/Database/Query/Builder::limit()
(#39644)🎜🎜Änderung
- Übergeordneten Knoten verwenden, um Middleware-Priorität aufzulösen
SortedMiddleware
(#39647)🎜🎜🎜🎜Ursprüngliche Adresse: https://laravel-news.com/laravel-8 -73-0🎜🎜Übersetzungsadresse: https://learnku.com/laravel/t/6🎜🎜Verwandte Empfehlungen: 🎜Die neuesten fünf Laravel-Video-Tutorials 3183🎜 🎜🎜
Das obige ist der detaillierte Inhalt vonLaravel 8.73 ist veröffentlicht, welche Updates gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!