Heim  >  Artikel  >  PHP-Framework  >  Laravel 8.73 ist veröffentlicht, welche Updates gibt es?

Laravel 8.73 ist veröffentlicht, welche Updates gibt es?

藏色散人
藏色散人nach vorne
2021-11-30 15:24:002160Durchsuche

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.

Erlaube die Übergabe von Schließungen als TTL in der Cache-remember()-Methode (8.73)

Gerard Nesta hat zur Methode zur Übergabe von Schließung als TTL in der Cache::remember()-Methode:

rrreee

Implementierung von lazyByIdDesc in absteigende Reihenfolge (8.73)

Moshe Brodsky hat eine 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 über PasswordReset verwendet wird. Ähnlich wie VerifyEmail ermöglicht es Benutzern, die Standard-URL-Generierungslogik zu überschreiben, ohne die Methode toMail() zu überschreiben. 🎜

Zählbare Unterstützung für Pluralisierer hinzufügen (8,72)

🎜Michael Dyrynda hat Str::plural( )hinzugefügt >-Methode wird für zählbare Werte verwendet. Sie können alles übergeben, was von der PHP-Methode is_countable() erkannt wird, die die Schnittstelle Countable implementiert : 🎜rrreee

Versionshinweise

🎜 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 umIlluminate/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!

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