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
留言分享你的想法!
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
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
R036 Blog API 伺服器的維護更新日誌 (2024/04/30) 開發環境技術 語言: Javascript 環境: Node JS 框架: Express.js 本次維護目的 優化及測試API伺服器程運行 重溫程式碼架構以便日後更新優化 Reac
Thumbnail
R036 Blog API 伺服器的維護更新日誌 (2024/04/30) 開發環境技術 語言: Javascript 環境: Node JS 框架: Express.js 本次維護目的 優化及測試API伺服器程運行 重溫程式碼架構以便日後更新優化 Reac
Thumbnail
CSS 的繼承性是開發網頁樣式時的一個重要概念,它使得樣式設計更加靈活和高效,有助於提高程式碼的可讀性、一致性和可重用性,並加快開發速度,從而提供更好的開發體驗。
Thumbnail
CSS 的繼承性是開發網頁樣式時的一個重要概念,它使得樣式設計更加靈活和高效,有助於提高程式碼的可讀性、一致性和可重用性,並加快開發速度,從而提供更好的開發體驗。
Thumbnail
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
Thumbnail
VCENTER_8_新增NAS磁碟機
Thumbnail
VCENTER_8_新增NAS磁碟機
Thumbnail
第一份正職工作 在iot公司擔任後端工程師,一上工就使用先前沒用過的php/laravel,也馬上負責公司產品的架構規劃,先前資料庫只有簡單記載使用者跟使用者的一些設定,很多地方有資料不一致的問題,產品內容還有很多實體的關係沒有被定義進資料庫都是這次改版我要做的事情。 改版納入公司、機器
Thumbnail
第一份正職工作 在iot公司擔任後端工程師,一上工就使用先前沒用過的php/laravel,也馬上負責公司產品的架構規劃,先前資料庫只有簡單記載使用者跟使用者的一些設定,很多地方有資料不一致的問題,產品內容還有很多實體的關係沒有被定義進資料庫都是這次改版我要做的事情。 改版納入公司、機器
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News