Laravel 8.73 ist veröffentlicht, welche Updates gibt es?
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
版本:
将 .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(); });
按降序实现 lazyByIdDesc (8.73)
Moshe Brodsky 贡献了一个 lazyByIdDesc()
方法,该方法通过按降序比较 ID 来对查询结果进行分块,从而延迟查询:
$query->lazyByIdDesc();
在处理大量数据时,您希望首先处理“较新”对象,这会很有用。
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'])));
发行说明
您可以在下方查看新功能和更新的完整列表以及 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
.phar zu blockierten PHP-Erweiterungen hinzufügen (8.73)
Stephen Rees-Carter während des Datei-Uploads
.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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Laraveleloquent-Modellab Abruf: Das Erhalten von Datenbankdaten Eloquentorm bietet eine prägnante und leicht verständliche Möglichkeit, die Datenbank zu bedienen. In diesem Artikel werden verschiedene eloquente Modellsuchtechniken im Detail eingeführt, um Daten aus der Datenbank effizient zu erhalten. 1. Holen Sie sich alle Aufzeichnungen. Verwenden Sie die Methode All (), um alle Datensätze in der Datenbanktabelle zu erhalten: UseApp \ Models \ post; $ posts = post :: all (); Dies wird eine Sammlung zurückgeben. Sie können mit der Foreach-Schleife oder anderen Sammelmethoden auf Daten zugreifen: foreach ($ postas $ post) {echo $ post->

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

Bei der Entwicklung von Websites mit CraftCMS stoßen Sie häufig mit Ressourcendateiproblemen, insbesondere wenn Sie häufig CSS und JavaScript -Dateien aktualisieren, alte Versionen von Dateien möglicherweise weiterhin vom Browser zwischengespeichert. Dieses Problem wirkt sich nicht nur auf die Benutzererfahrung aus, sondern erhöht auch die Schwierigkeit der Entwicklung und des Debuggens. Kürzlich habe ich in meinem Projekt ähnliche Probleme gestoßen, und nach einigen Erkundungen fand ich das Plugin Wiejeben/Craft-Laravel-Mix, das mein Caching-Problem perfekt löste.

Laravel bietet einen umfassenden Auth-Framework für die Implementierung von Benutzeranmeldungsfunktionen, einschließlich: Definieren von Benutzermodellen (eloquentes Modell), Erstellen von Anmeldeformularen (Blattvorlagen-Engine), Schreiben von Login-Controllern (Erben von Auth \ Logincontroller), Überprüfung von Login-Anfragen (Auth :: Versuch) Umleitung nach Anmeldung (Redirect). Darüber hinaus enthält das Auth -Framework auch Funktionen wie das Zurücksetzen von Kennwörtern, das Registrieren und Überprüfen von E -Mails. Weitere Informationen finden Sie in der Laravel -Dokumentation: https://laravel.com/doc

Verarbeiten Sie 7 Millionen Aufzeichnungen effizient und erstellen Sie interaktive Karten mit Geospatial -Technologie. In diesem Artikel wird untersucht, wie über 7 Millionen Datensätze mithilfe von Laravel und MySQL effizient verarbeitet und in interaktive Kartenvisualisierungen umgewandelt werden können. Erstes Herausforderungsprojektanforderungen: Mit 7 Millionen Datensätzen in der MySQL -Datenbank wertvolle Erkenntnisse extrahieren. Viele Menschen erwägen zunächst Programmiersprachen, aber ignorieren die Datenbank selbst: Kann sie den Anforderungen erfüllen? Ist Datenmigration oder strukturelle Anpassung erforderlich? Kann MySQL einer so großen Datenbelastung standhalten? Voranalyse: Schlüsselfilter und Eigenschaften müssen identifiziert werden. Nach der Analyse wurde festgestellt, dass nur wenige Attribute mit der Lösung zusammenhängen. Wir haben die Machbarkeit des Filters überprüft und einige Einschränkungen festgelegt, um die Suche zu optimieren. Kartensuche basierend auf der Stadt

Artikelzusammenfassung: Dieser Artikel enthält detaillierte Schritt-für-Schritt-Anweisungen, um die Leser zu leiten, wie das Laravel-Framework einfach installiert werden kann. Laravel ist ein leistungsstarkes PHP -Framework, das den Entwicklungsprozess von Webanwendungen beschleunigt. Dieses Tutorial deckt den Installationsprozess von den Systemanforderungen bis zur Konfiguration von Datenbanken und das Einrichten von Routing ab. Durch die Ausführung dieser Schritte können die Leser schnell und effizient eine solide Grundlage für ihr Laravel -Projekt legen.

Wie spielt Laravel eine Rolle in der Backend -Logik? Es vereinfacht und verbessert die Backend -Entwicklung durch Routing -Systeme, eloquentorm, Authentifizierung und Autorisierung, Ereignis und Zuhörer sowie Leistungsoptimierung. 1. Das Routing -System ermöglicht die Definition der URL -Struktur und die Anforderungsverarbeitungslogik. 2.Loquentorm vereinfacht die Datenbankinteraktion. 3. Das Authentifizierungs- und Autorisierungssystem ist für die Benutzerverwaltung geeignet. 4. Die Ereignis und der Hörer implementieren locker gekoppelte Codestruktur. 5. Leistungsoptimierung verbessert die Anwendungseffizienz durch Zwischenspeicherung und Warteschlange.

Möchten Sie das Laravel -Rahmen lernen, aber unter keinen Ressourcen oder dem wirtschaftlichen Druck leiden? Dieser Artikel bietet Ihnen ein kostenloses Lernen von Laravel und lehrt Sie, wie Sie Ressourcen wie Online -Plattformen, Dokumente und Community -Foren verwenden, um eine solide Grundlage für Ihre PHP -Entwicklungsreise zu schaffen.
