首頁  >  文章  >  php框架  >  Laravel 8.73 發佈啦,看看有哪些更新?

Laravel 8.73 發佈啦,看看有哪些更新?

藏色散人
藏色散人轉載
2021-11-30 15:24:002141瀏覽

Laravel 8.73 發佈啦,看看有哪些更新?

Laravel 團隊發布了8.73,支援字串複數器中的Countable 對象,允許使用閉包來確定快取TTL、lazyByIdDesc() 查詢建構器方法以及v8.x 分支中的最新更改。

這篇文章包含了過去幾天更新的一些版本,包括在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#### (# 39647)############原文網址:https://laravel-news.com/laravel-8-73-0######翻譯網址:https://learnku.com /laravel/t/6######相關推薦:###最新的五個Laravel影片教學3183### #######

以上是Laravel 8.73 發佈啦,看看有哪些更新?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除