成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Laravel9.5版本的新增、修復和改變有哪些

這篇文章主要介紹“Laravel 9.5版本的新增、修復和改變有哪些”,在日常操作中,相信很多人在Laravel 9.5版本的新增、修復和改變有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Laravel 9.5版本的新增、修復和改變有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)是一家專注于網站設計制作、成都網站建設與策劃設計,饒平網站建設哪家好?創(chuàng)新互聯(lián)做網站,專注于網站建設十載,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:饒平等地區(qū)。饒平做網站價格咨詢:18982081108

Laravel 團隊發(fā)布了 9.5 版本,其中包括部分隊列偽造,freezeTime () 輔助函數,存儲 assertDirectoryEmpty () 斷言,assertJsonPath () 中的閉包等:

對集合 Implode 方法的回調支持

@Lito 貢獻了在 Collect::implode() 上的回調支持, 以簡化 ->map()->implode() 調用:

// 之前
{{ $user->cities->map(fn ($city) => $city->name.' ('.$city->state->name.')')->implode(', ') }}
// 使用回調 
{{ $user->cities->implode(fn ($city) => $city->name.' ('.$city->state->name.')', ', ') }}

使用 Storage Fake 斷言一個空目錄

Mark Beech 貢獻了使用 Storage::fake () 實例斷言空目錄的能力:

// 9.5 版本之前
$this->assertEmpty(Storage::disk('temp')->allFiles('/foo'));
// +9.5
Storage::disk('temp')->assertDirectoryEmpty('/foo');

如果目錄中沒有文件,只有其他子目錄,則斷言將失敗,因為它包含其他文件夾 / 文件。這里有一個來自 pull request discussion 的例子:

Storage::fake('temp');
Storage::disk('temp')->put('/foo/bar.txt', 'string');
Storage::disk('temp')->assertDirectoryEmpty('/'); // 失敗

JSON 斷言 “assertJsonPath ()” 現(xiàn)在接受閉包

Fabien Villepinte 貢獻了將閉包傳遞給 assertJsonPath 的,沒有任何向后兼容的中斷的能力:

$response = TestResponse::fromBaseResponse(new Response([
    'data' => ['foo' => 'bar'],
]));
$response->assertJsonPath('data.foo', 'bar');
$response->assertJsonPath('data.foo', fn ($value) => $value === 'bar');

雖然上面的示例使用字符串版本似乎更簡單,但如果你需要圍繞路徑斷言更復雜的邏輯,你現(xiàn)在可以使用閉包。

部分隊列偽造

Taylor Otwell 為測試中的隊列貢獻了部分偽造:

Queue::fake([JobsToFake::class, /* ... */]);

創(chuàng)建 “through” 模型的新方法

Hafez Divandari 貢獻了不需要覆蓋整個 hasOneThrough 或者 hasManyThrough 方法而創(chuàng)建一個新的 “through” 模型的能力:

// Define a `newThroughInstance` method
protected function newThroughInstance($resource)
{
    return (new \App\Models\ExampleEntity)->setTable($resource);
}

新的字符串換行的輔助函數

Markus Hebenstreit 貢獻了 wrap() 字符串輔助函數。 這里有一個來自 pull request description 的示例用法:

Str:wrap('value')->wrap('"');
Str::of('value')->wrap('"');
str('value')->wrap('"');
// 輸出: "value"
Str:wrap('is', 'This ', ' me!');
Str::of('is')->wrap('This ', ' me!');
str('is')->wrap('This ', ' me!');
// 輸出: This is me!

用于測試的 Freeze Time 輔助函數

@Italo 貢獻了 freezeTime() 輔助函數 —— 一個將在測試中凍結當前時間的測試方法:

public function test_something()
{
    $this->freezeTime();
    // 或將時間設置為日期的當前秒
    // 沒有亞秒級精度。
    $this->freezeSecond();
}

freezeTime() 方法是以下內容的語法糖:

$this->travelTo(Carbon::now());

允許在 Http::beforeSending () 中接受可調用對象

Dries Vints 有助于在 Http::beforeSending() 方法中接受可調用對象,而不僅僅是可調用的類。 現(xiàn)在,以下示例將起作用,而不是獲取 “調用數組上的成員函數 __invoke ()”:

Http::baseUrl('https://api.example.org')
    ->beforeSending([ $this, 'prepareRequest' ])
    ->asJson()
    ->withoutVerifying();

發(fā)行說明

你可以在下面查看新功能和更新的完整列表以及在 GitHub 上查 9.4.0 和 9.5.0 之間的差異 。 以下發(fā)行說明直接來自 changelog:

9.5.0 版本

新增

  • 增加了對 implode 集合方法的回調支持。(#41405)

  • 增加了 Illuminate/Filesystem/FilesystemAdapter::assertDirectoryEmpty()。 (#41398)

  • 為 SesTransport 實施郵件 “元數據”。 (#41422)

  • 使 assertPath () 接受閉包。(#41409)

  • 在集合上增加了對 operatorForWhere 的可調用支持。 (#41414, #41424)

  • 增加了部分隊列偽造。(#41425)

  • 為 schedule:test 命令添加了 –name 選項。 (#41439)

  • 定義了 Illuminate/Database/Eloquent/Concerns/HasRelationships::newRelatedThroughInstance()。(#41444)

  • 增加了 Illuminate/Support/Stringable::wrap() (#41455)

  • 為測試增加了 “freezeTime” 輔助函數。(#41460)

  • 允許在 Illuminate/Http/Client/PendingRequest.php::runBeforeSendingCallbacks() 中使用 beforeSending 調用。(#41489)

修復

  • 修復了在過濾名稱或域時來自 route:list 的棄用警告。 (#41421)

  • 修復了當 URL 返回空狀態(tài)碼時的 HTTP::pool 響應。 (#41412)

  • 修復了 Illuminate/Session/Middleware/AuthenticateSession.php 中的 recaller 名稱解析。(#41429)

  • 修復了在 /Illuminate/Session/Middleware/AuthenticateSession.php 中被使用的 guard 實例 (#41447)

  • 修復了 route:list –except-vendor,用于隱藏 Route::view () & Route::redirect () (#41465)

改變

  • 在 \Illuminate\Database\Eloquent\Factories\Factory 中為連接屬性添加空類型。(#41418)

  • 更新了 GeneratorCommand 中的保留名稱 (#41441)

  • 重新設計了 php artisan schedule:list 命令。 (#41445)

  • 擴展了 eloquent 高階代理屬性。(#41449)

  • 允許傳遞已經命名的參數給動態(tài)的本地作用域。(#41478)

  • 如果標簽通過但在 Illuminate/Encryption/Encrypter.php 中不受支持,則拋出異常。(#41479)

  • 當 composer vendor 文件夾不在項目的文件夾時 為案例更新 PackageManifest::$vendorPath 初始化。(#41463)

到此,關于“Laravel 9.5版本的新增、修復和改變有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

名稱欄目:Laravel9.5版本的新增、修復和改變有哪些
本文URL:http://jinyejixie.com/article30/ggigpo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、微信小程序、動態(tài)網站、網站收錄、軟件開發(fā)Google

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站建設網站維護公司
旬阳县| 梁山县| 尉犁县| 元朗区| 荆门市| 中方县| 高邮市| 胶南市| 沙坪坝区| 汝南县| 神农架林区| 临武县| 汶上县| 关岭| 砀山县| 嵩明县| 元朗区| 德清县| 石柱| 栾川县| 古丈县| 当雄县| 汾西县| 信丰县| 浪卡子县| 稷山县| 凤阳县| 诸暨市| 宿迁市| 洪雅县| 淮阳县| 沁阳市| 扎赉特旗| 无为县| 衢州市| 阳原县| 长白| 郁南县| 讷河市| 合川市| 安平县|