Heim > Artikel > PHP-Framework > Das neueste Laravel 9.37 wurde veröffentlicht und bringt diese neuen Änderungen!
Das Laravel-Team hat diese Woche Version 9.37 veröffentlicht und außerdem einige Patches zwischen 9.37 und Laravel 9.36 veröffentlicht. Die Veröffentlichung dieser Woche bietet Unterstützung für das Vorabladen von Ressourcen mit Vite, neue Handler für strikte Verstöße, ausführliches View-Caching der CLI-Ausgabe und mehr.
Verbose View Cache
Andrew Brown hat die Möglichkeit beigesteuert, -v
im Befehl view:cache
zu übergeben, um das Verzeichnis auszugeben, in dem der Befehl sucht. und Verwenden Sie -vv
, um jede Datei im Befehlscache anzuzeigen. [Verwandte Empfehlungen: Laravel-Video-Tutorial]view:cache
命令中传递 -v
的功能,以输出命令正在查找的目录,以及通过 -vv
来查看命令缓存中的每个文件。【相关推荐:laravel视频教程】
php artisan view:cache -vv
这是一个例子,你会看到新安装的 Laravel 9.37 的情况:
处理静默丢弃与属性丢失的方法
Aaron Francis 提供了为“静默丢弃”和“缺少属性”严格模式冲突注册处理程序的功能:
Model::handleMissingAttributeViolationUsing( function ($model, $key) { // ... });Model::handleDiscardedAttributeViolationUsing( function ($model, $keys) { // ... });
传递救援报告参数的闭包
@foremtehan 贡献了在使用 rescue()
时将可调用对象作为 $report
参数传递,以便你可以根据返回的布尔值有条件地报告错误:
rescue(fn() => 'error', fn() => 'rescue', function(Throwable $e){ return $e instanceof SomeException;});
支持使用 Vite 预加载资源
Tim MacDonald 使用 Vite 预加载当前页面所需的资源。它现在是使用 Vite 的 Laravel 应用程序的默认行为。它如何工作的细节非常复杂,我建议阅读 Pull Request #44096. 此外,你还可以了解有关背后的一般概念的更多信息 预加载关键资源以提高加载速度.
查询构造器 RawValue方法
@eusonlito 贡献了 rawValue()
方法,支持使用SQL表达式来获取值。 以下是一些使用示例:
$first = TripModel::orderBy('date_at', 'ASC') ->rawValue('YEAR(`date_at`)');$last = TripModel::orderBy('date_at', 'DESC') ->rawValue('YEAR(`date_at`)');$fullname = UserModel::where('id', $id) ->rawValue('CONCAT(`first_name`, " ", `last_name`)');
发行说明
您可以在下方查看新功能和更新的完整列表,以及9.36.0 和 9.37.0之间的差异。以下发行说明来自 changelog:
v9.37.0
Illuminate/Mail/Mailables/Content::htmlString()
(#44703)v9.36.4
Illuminate/Filesystem/FilesystemAdapter::checksum()
rrreee$report
-Parameter zu übergeben, wenn rescue()
verwendet wird, damit Sie Fehler basierend auf bedingt melden können der zurückgegebene boolesche Wert: Unterstützt das Vorladen von Ressourcen mit ViteTim MacDonald Verwenden Sie Vite, um die für die aktuelle Seite erforderlichen Ressourcen vorab zu laden. Dies ist jetzt das Standardverhalten für Laravel-Anwendungen, die Vite verwenden. Die Details zur Funktionsweise sind recht komplex und ich empfehle, Pull Request #44096 zu lesen. Außerdem können Sie mehr über die allgemeinen Konzepte hinter dem Vorladen wichtiger Ressourcen erfahren, um die Ladegeschwindigkeit zu verbessern
🎜🎜@. eusonlito hat die MethoderawValue()
beigesteuert, die die Verwendung von SQL-Ausdrücken zum Abrufen von Werten unterstützt. Hier sind einige Anwendungsbeispiele: 🎜rrreee🎜🎜🎜🎜Versionshinweise🎜🎜🎜Sie können unten die vollständige Liste der neuen Funktionen und Updates sowie die Unterschiede zwischen 9.36.0 und 9.37.0 sehen. Die folgenden Versionshinweise stammen aus dem Änderungsprotokoll: 🎜🎜🎜🎜🎜v9.37.0🎜🎜🎜🎜🎜 Hinzugefügt 🎜🎜🎜 Optionale ausführliche Ausgabe beim Hinzufügen von View-Caching (#44673) 🎜🎜 Übergeben von Schließungen zulassen, um den $report-Parameter zu speichern (# 44710 )🎜🎜Unterstützung bei der Verwendung von Vite zum Vorladen von Ressourcen (#44096)🎜🎜Hinzufügen von Illuminate/Mail/Mailables/Content::htmlString()
(#44703)🎜🎜🎜🎜🎜Fix🎜🎜🎜Fix model :show Register getAttribute() as null accessor (#44683) 🎜🎜Erwartung von Ausgabezusicherungen in PendingCommand korrigieren (#44723) 🎜🎜🎜🎜🎜🎜v9.36.4🎜🎜🎜🎜🎜Hinzufügen 🎜🎜🎜 für Datenbankabfrage äh Hinzugefügt primitive Werte (und als Wrapper für Eloquent) (#44631)🎜🎜TransactionCommitting hinzugefügt (#44608)🎜🎜dontIncludeSource zu CliDumper und HtmlDumper hinzugefügt (#44623)🎜🎜Illuminate/Filesystem/FilesystemAdapter::checksum hinzugefügt ( )
(#44660)🎜🎜Handler für stilles Verwerfen und fehlende Attributkonflikte hinzufügen (#44664)🎜🎜🎜🎜🎜Restore🎜🎜🎜Restore „Verwendung von MustVerifyEmail als Primärschlüssel auf Modellen ohne ID zulassen“ (#44672 ) 🎜🎜🎜🎜🎜Ändern 🎜🎜🎜 Neue Json-Parameterpaketinstanz erstellen, wenn Anfrage geklont wird (#44671) 🎜🎜Anbieter am Starten hindern, wenn env:decrypt ausgeführt wird (#44654) 🎜🎜🎜🎜🎜🎜 v9.36.3 🎜🎜(#44653) ) Illuminate/Database/Eloquent/Model::offsetExists()
Das obige ist der detaillierte Inhalt vonDas neueste Laravel 9.37 wurde veröffentlicht und bringt diese neuen Änderungen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!