Heim  >  Artikel  >  PHP-Framework  >  Das neueste Laravel 9.37 wurde veröffentlicht und bringt diese neuen Änderungen!

Das neueste Laravel 9.37 wurde veröffentlicht und bringt diese neuen Änderungen!

藏色散人
藏色散人nach vorne
2022-11-04 17:02:481533Durchsuche

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 的情况:

Das neueste Laravel 9.37 wurde veröffentlicht und bringt diese neuen Änderungen!

处理静默丢弃与属性丢失的方法

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

添加

  • 添加视图缓存时的可选详细输出 (#44673)
  • 允许传递闭包以挽救 $report 参数 (#44710)
  • 支持使用 Vite 预加载资源 (#44096)
  • 添加 Illuminate/Mail/Mailables/Content::htmlString() (#44703)

修复

  • 修复 model:show 注册 getAttribute() 作为空访问器 (#44683)
  • 修复 PendingCommand 中输出断言的预期 (#44723)

v9.36.4

添加

  • 为数据库查询生成器添加了原始值(并作为包装器雄辩) (#44631)
  • 添加 TransactionCommitting (#44608)
  • 添加 dontIncludeSource 到 CliDumper 和 HtmlDumper (#44623)
  • 添加 Illuminate/Filesystem/FilesystemAdapter::checksum()rrreee
  • Das ist ein Beispiel, Sie Sie sehen das neu installierte Laravel 9.37:
  •  Das neueste Laravel 9.37 wurde veröffentlicht und bringt diese neuen Änderungen!

Möglichkeiten zum Umgang mit stillem Verwerfen und Attributverlust
  • Aaron Francis bietet die Möglichkeit, Handler für Konflikte im strengen Modus „stilles Verwerfen“ und „fehlendes Attribut“ zu registrieren:
rrreee

Abschluss für die Übergabe von Rettungsberichtsparametern
  • @foremtehan hat dazu beigetragen, das aufrufbare Objekt als $report-Parameter zu übergeben, wenn rescue() verwendet wird, damit Sie Fehler basierend auf bedingt melden können der zurückgegebene boolesche Wert:
  • rrreee

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 Methode rawValue() 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) )

Factory zwischen Komponenten-Cache und Tests ignorieren (#44648)

  • Ändern

Bump Testbench-Abhängigkeiten (#44651)

  • v9.36.2Illuminate/Database/Eloquent/Model::offsetExists()
Behoben

Stellen Sie sicher, dass Sie die Ersteller anzeigen und Compositors werden aufgerufen, wenn * vorhanden ist (#44636) ://laravel -news.com/laravel-9-37-0

    Übersetzungsadresse: https://learnku.com/laravel/t/72839

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen