Laravel 週報 12.9

更新 發佈閱讀 5 分鐘

# Memoized Cache Driver

12.9 新增 memo cache driver,可以對 cache 在做一層 memory cache,比如第一次從 Redis cache 撈,但在同一個 req 當中,之後都可從 PHP Process memory 當中撈

<?php
Cache::get('foo'); // hits the cache
Cache::get('foo'); // hits the cache
Cache::get('foo'); // hits the cache

Cache::memo()->get('foo'); // hits the cache
Cache::memo()->get('foo'); // does not hit the cache
Cache::memo()->get('foo'); // does not hit the cache

# Freeze Time Test Updates

12.9,freeTime() & freeSecond() 會 return date

<?php
// Before
$now = now();
Carbon::setTestNow($now);

$post->slug = $slug;
$post->save();

$package->refresh();
$this->assertTrue($now->equalTo($post->updated_at));

// After
$now = $this->freezeSecond();

$post->slug = $slug;
$post->save();

$package->refresh();
$this->assertTrue($now->equalTo($post->updated_at));

# Add a Callback for DB Transaction Failures

12.9,DB::transaction() 可以帶入 closure,fails 時觸發

<?php
DB::transaction(
callback: function () {
// do DB stuff
},
onFailure: function () {
Notification::send($admin, new SomethingImportantBroke());
}
);

# Model Relationship Autoloading from a Model

12.9,可以 enable lazy eager load all relationships of 特定 model

<?php
// Before
$post->tags->withRelationshipAutoloading();
$post->authors->withRelationshipAutoloading();

// After
$post->withRelationshipAutoloading();

# Add Descriptive Error Messages to assertViewHas()

12.9,assertViewHas() 有更完整的 error message

<?php
# Before
1) Tests\Feature\App\Http\CustomerControllerTest::a_test_example
Failed asserting that false is true.

# After
1) Tests\Feature\App\Http\CustomerControllerTest::a_test_example
Failed asserting that 'key_with_value' matches the expected value.
Failed asserting that 0 matches expected 10.

# Fluent make() Method

12.9,新增 Fluent::make() 來建立 Fluent instance

<?php
use Illuminate\Support\Fluent;

$instance = Fluent::make($attributes);

# 參考來源

Laravel News

留言
avatar-img
Learn or Die
0會員
16內容數
分享程式技術
Learn or Die的其他內容
2025/04/27
每個應用程式的骨架是路由。此頁將介紹網頁路由的基本概念,以及如何在 Next.js 中處理路由。 # 術語 你會在文件中看到這些術語,以下是快速參考: # 元件樹的術語 tree:用來視覺化階層結構的一種約定。例如包含父元件和子元件的元件樹、資料夾結構等。 subtree:tree 的
Thumbnail
2025/04/27
每個應用程式的骨架是路由。此頁將介紹網頁路由的基本概念,以及如何在 Next.js 中處理路由。 # 術語 你會在文件中看到這些術語,以下是快速參考: # 元件樹的術語 tree:用來視覺化階層結構的一種約定。例如包含父元件和子元件的元件樹、資料夾結構等。 subtree:tree 的
Thumbnail
2025/04/24
# Query Builder pipe() Method 12.4 新增 pipe() method 定義在特定 model,且只有該 model 可重複使用時,使用 scope 不一定要定義在 model,可定義在單獨 class,且可在多個 model 中 reuse,使用 tap 不
2025/04/24
# Query Builder pipe() Method 12.4 新增 pipe() method 定義在特定 model,且只有該 model 可重複使用時,使用 scope 不一定要定義在 model,可定義在單獨 class,且可在多個 model 中 reuse,使用 tap 不
2025/04/24
這篇文章記錄在 Linux server 上使用 Laravel schedule 排程任務的過程,包含 Laravel schedule 的定義、以及設定 Linux crontab 的步驟,並說明其中需要注意的權限問題。
Thumbnail
2025/04/24
這篇文章記錄在 Linux server 上使用 Laravel schedule 排程任務的過程,包含 Laravel schedule 的定義、以及設定 Linux crontab 的步驟,並說明其中需要注意的權限問題。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
市場經驗拉長之後,很多投資人都會遇到同一個問題:不是方向看錯,而是部位太集中個股,常常跟大趨勢脫節。 早年的台股環境,中小股非常吃香,反而權值股不動,但QE量化寬鬆後,特別是疫情之後,後疫情時代,鈔票大量在股市走動,這些大資金只能往權值股走,因此早年小P的策略偏向中小型個股,但近年AI興起,高技術
Thumbnail
市場經驗拉長之後,很多投資人都會遇到同一個問題:不是方向看錯,而是部位太集中個股,常常跟大趨勢脫節。 早年的台股環境,中小股非常吃香,反而權值股不動,但QE量化寬鬆後,特別是疫情之後,後疫情時代,鈔票大量在股市走動,這些大資金只能往權值股走,因此早年小P的策略偏向中小型個股,但近年AI興起,高技術
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
CSS 的繼承性是開發網頁樣式時的一個重要概念,它使得樣式設計更加靈活和高效,有助於提高程式碼的可讀性、一致性和可重用性,並加快開發速度,從而提供更好的開發體驗。
Thumbnail
CSS 的繼承性是開發網頁樣式時的一個重要概念,它使得樣式設計更加靈活和高效,有助於提高程式碼的可讀性、一致性和可重用性,並加快開發速度,從而提供更好的開發體驗。
Thumbnail
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News