検索
ホームページPHPフレームワークLaravelLaravel 9.5 バージョンの新しい追加、修正、変更点をまとめます。

この記事は、laravel に関する関連知識を提供します。Laravel チームは、部分的なキューのフォージェリ、freezeTime() 補助関数、ストレージのassertDirectoryEmpty() アサーションなどを含むバージョン 9.5 をリリースしました。助けるために。

Laravel 9.5 バージョンの新しい追加、修正、変更点をまとめます。

[関連する推奨事項: laravel ビデオ ]

Laravel チームがバージョン 9.5 をリリースしました。これには、部分的なキューのフォージェリ、freezeTime () ヘルパーが含まれています関数、ストレージのassertDirectoryEmpty () アサーション、assertJsonPath () のクロージャーなど:

コレクションの Implode メソッドのコールバック サポート

@Lito は、Collect::implode() コールバックのサポートを簡素化するために貢献しました。 ->map()->implode() 呼び出し:

// 之前<br/>{{ $user->cities->map(fn ($city) => $city->name.&#39; (&#39;.$city->state->name.&#39;)&#39;)->implode(&#39;, &#39;) }}<br/>// 使用回调 <br/>{{ $user->cities->implode(fn ($city) => $city->name.&#39; (&#39;.$city->state->name.&#39;)&#39;, &#39;, &#39;) }}<br/>

Storage Fake を使用して空のディレクトリをアサート

Mark Beech は Storage::fake () を使用して貢献しました。空のディレクトリをアサートします:

// 9.5 版本之前<br/>$this->assertEmpty(Storage::disk(&#39;temp&#39;)->allFiles(&#39;/foo&#39;));<br/>// +9.5<br/>Storage::disk(&#39;temp&#39;)->assertDirectoryEmpty(&#39;/foo&#39;);<br/>

ディレクトリ内にファイルがなく、他のサブディレクトリのみがある場合、他のフォルダ/ファイルが含まれているため、アサーションは失敗します。プル リクエストのディスカッションの例を次に示します。

Storage::fake(&#39;temp&#39;);<br/>Storage::disk(&#39;temp&#39;)->put(&#39;/foo/bar.txt&#39;, &#39;string&#39;);<br/>Storage::disk(&#39;temp&#39;)->assertDirectoryEmpty(&#39;/&#39;); // 失败<br/>

JSON アサーション "assertJsonPath ()" がクロージャを受け入れるようになりました

Fabien Villepinte は、後方互換性のある割り込み機能を使用せずに、assertJsonPath にクロージャを渡すことに貢献しました。

上記の例は文字列バージョンを使用することでより単純に見えますが、パス アサーションに関するより複雑なロジックが必要な場合は、クロージャを使用できるようになりました。

部分的なキューのフェイク

Taylor Otwell は、テスト対象のキューへの部分的なフェイクを提供しました:

$response = TestResponse::fromBaseResponse(new Response([<br/>    &#39;data&#39; => [&#39;foo&#39; => &#39;bar&#39;],<br/>]));<br/>$response->assertJsonPath(&#39;data.foo&#39;, &#39;bar&#39;);<br/>$response->assertJsonPath(&#39;data.foo&#39;, fn ($value) => $value === &#39;bar&#39;);<br/>

「スルー」モデルを作成する新しい方法

Hafez Divandari は、hasOneThrough または hasManyThrough メソッド全体をオーバーライドすることなく、新しい「スルー」モデルを作成する機能に貢献しました。

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

新しい文字列ラップ ヘルパー関数

Markus Hebenstreit は、wrap() 文字列ヘルパー関数を貢献しました。プル リクエストの説明からの使用例を次に示します。

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

テスト用のフリーズ時間ヘルパー関数

@Italo は、freezeTime() ヘルパー関数を提供しました。これは、テスト時間の現在時刻をフリーズします。テストメソッド:

Str:wrap(&#39;value&#39;)->wrap(&#39;"&#39;);<br/>Str::of(&#39;value&#39;)->wrap(&#39;"&#39;);<br/>str(&#39;value&#39;)->wrap(&#39;"&#39;);<br/>// 输出: "value"<br/>Str:wrap(&#39;is&#39;, &#39;This &#39;, &#39; me!&#39;);<br/>Str::of(&#39;is&#39;)->wrap(&#39;This &#39;, &#39; me!&#39;);<br/>str(&#39;is&#39;)->wrap(&#39;This &#39;, &#39; me!&#39;);<br/>// 输出: This is me!<br/>

freezeTime() メソッドは、次の糖衣構文です:

public function test_something()<br/>{<br/>    $this->freezeTime();<br/>    // 或将时间设置为日期的当前秒<br/>    // 没有亚秒级精度。<br/>    $this->freezeSecond();<br/>}<br/>

Http::beforeSending () で呼び出し可能なオブジェクトを受け入れられるようにします

Dries Vints ヘルプHttp::beforeSending() メソッドで呼び出し可能なクラスだけでなく、呼び出し可能なオブジェクトを受け入れるため。次の例は、「配列上のメンバー関数 __invoke() の呼び出し」を取得する代わりに機能するようになります:

$this->travelTo(Carbon::now());<br/>

リリース ノート

新機能と更新の完全なリストは以下で確認できます。 GitHub で 9.4.0 と 9.5.0 の違いを確認してください。次のリリース ノートは、変更ログから直接抜粋したものです:

9.5.0 バージョン

New

  • ##追加 implode コレクション メソッドのコールバック サポートを追加しました。 (

    #41405)

  • Illuminate/Filesystem/FilesystemAdapter::assertDirectoryEmpty() を追加しました。 (

    #41398)

  • SesTransport の電子メール「メタデータ」を実装します。 (

    #41422)

  • assertPath () がクロージャを受け入れるようにします。 (

    #41409)

  • コレクションのoperatorForWhereの呼び出し可能サポートを追加しました。 (

    #41414, #41424)

  • キューの偽造を追加しました。 (

    #41425)

  • schedule:test コマンドに –name オプションを追加しました。 (#41439)

  • は、Illuminate/Database/Eloquent/Concerns/HasRelationships::newEveryoneThroughInstance() を定義します。 (#41444)

  • Illuminate/Support/Stringable::wrap() を追加しました (#41455)

  • テスト用補助関数「freezeTime」を追加しました。 (#41460)

  • Illuminate/Http/Client/PendingRequest.php::runBeforeSendingCallbacks() で beforeSending 呼び出しの使用を許可します。 (#41489)

修正

  • 非推奨の警告から名前またはドメインをフィルターする際の修正ルート:リストの場合。 (#41421)

  • URL が空のステータス コードを返した場合の HTTP::pool 応答を修正しました。 (#41412)

  • Illuminate/Session/Middleware/AuthenticateSession.php のリコール名の解決を修正しました。 (#41429)

  • /Illuminate/Session/Middleware/AuthenticateSession.php で使用されているガード インスタンスを修正しました (#41447 )

  • ##Route::view () と Route::redirect () を非表示にするための、route:list –excel-vendor を修正しました (

    #41465)

変更

  • \Illuminate\Database\Eloquent\Factories\Factory に接続プロパティの空のタイプを追加します。 (

    #41418)

  • #GeneratorCommand の予約名を更新 (
  • #41441

    )

    # #再設計PHPのartisanのschedule:listコマンド。 (
  • #41445
  • )

    拡張された雄弁な高次プロキシ プロパティ。 (
  • #41449
  • )

    名前付きパラメータを動的ローカル スコープに渡すことができます。 (
  • #41478
  • )

    タグが合格しても、Illuminate/Encryption/Encrypter.php でサポートされていない場合は例外をスローします。 (
  • #41479
  • )

    コンポーザーベンダーフォルダーがプロジェクトフォルダーにない場合、Update PackageManifest::$vendorPath がそのケースに合わせて初期化されます。 (
  • #41463
  • )

    [関連する推奨事項:
  • laravel ビデオチュートリアル
]

以上がLaravel 9.5 バージョンの新しい追加、修正、変更点をまとめます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はlearnkuで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Laravel(PHP)vs。Python:異なるユースケースとアプリケーションLaravel(PHP)vs。Python:異なるユースケースとアプリケーションApr 18, 2025 am 12:16 AM

LaravelまたはPythonの選択は、プロジェクトの要件に依存します。1)Webアプリケーションをすばやく開発し、ORMと認証システムを使用する必要がある場合は、Laravelを選択します。 2)データ分析、機械学習、または科学的コンピューティングが含まれる場合は、Pythonを選択します。

LaravelとPython:適切なツールを見つけるLaravelとPython:適切なツールを見つけるApr 18, 2025 am 12:14 AM

LaravelはWebアプリケーションを迅速に構築するのに適しており、Pythonは柔軟性と汎用性を必要とするプロジェクトに適しています。 1)Laravelは、PHPエコシステムに適したORMやルーティングなどの豊富な機能を提供します。 2)Pythonは、簡潔な構文と強力なライブラリエコシステムで知られており、Web開発やデータサイエンスなどのフィールドに適しています。

LaravelとPHP:動的なWebサイトの作成LaravelとPHP:動的なWebサイトの作成Apr 18, 2025 am 12:12 AM

LaravelとPHPを使用して、動的なWebサイトを効率的に楽しく作成します。 1)LaravelはMVCアーキテクチャに従い、ブレードテンプレートエンジンはHTMLの書き込みを簡素化します。 2)ルーティングシステムと要求処理メカニズムにより、URL定義とユーザー入力処理が簡単になります。 3)Eloquentormはデータベース操作を簡素化します。 4)データベースの移行、CRUD操作、ブレードテンプレートの使用は、ブログシステムの例を介して実証されています。 5)Laravelは、強力なユーザー認証と承認機能を提供します。 6)デバッグスキルには、ロギングシステムと職人ツールの使用が含まれます。 7)パフォーマンスの最適化の提案には、怠zyなロードとキャッシュが含まれます。

Laravelとフルスタック:フロントとバックを一緒にLaravelとフルスタック:フロントとバックを一緒にApr 18, 2025 am 12:07 AM

Laravelは、ブレードテンプレートエンジン、Eloquentorm、Artisan Tools、Laravelmixを介してフルスタック開発を実現します。1。ブレードは、フロントエンド開発を簡素化します。 2. Eloquentはデータベース操作を簡素化します。 3。職人は開発効率を向上させます。 4。Laravelmixは、フロントエンドリソースを管理します。

Laravel:現代のWeb開発のためのフレームワークLaravel:現代のWeb開発のためのフレームワークApr 18, 2025 am 12:05 AM

Laravelは、MVCアーキテクチャモデルに従い、豊富なツールと機能を提供し、Web開発プロセスを簡素化する最新のPHPベースのフレームワークです。 1)データベースインタラクション用のEloquentorm、2)高速コード生成のための職人コマンドラインインターフェイス、3)効率的なビュー開発のためのブレードテンプレートエンジン、4)URL構造を定義するための強力なルーティングシステム、5)ユーザー管理のための認証システム、6)リアルタイム機能のためのイベントリスニングとブロードキャスト、7)パフォーマンスを維持するためのパフォーマンスを維持します。

Laravel(PHP)vs。Python:長所と短所を計量しますLaravel(PHP)vs。Python:長所と短所を計量しますApr 17, 2025 am 12:18 AM

LaravelはWebアプリケーションを迅速に構築するのに適していますが、Pythonはより広い範囲のアプリケーションシナリオに適しています。 1.Laravelは、Web開発を簡素化するために、Eloquentorm、Bladeテンプレートエンジン、職人ツールを提供します。 2。Pythonは、その動的なタイプ、リッチ標準ライブラリ、サードパーティのエコシステムで知られており、Web開発、データサイエンス、その他の分野に適しています。

Laravel vs. Python:フレームワークとライブラリの比較Laravel vs. Python:フレームワークとライブラリの比較Apr 17, 2025 am 12:16 AM

LaravelとPythonにはそれぞれ独自の利点があります。Laravelは、機能が豊富なWebアプリケーションを迅速に構築するのに適しており、Pythonはデータサイエンスと一般的なプログラミングの分野でうまく機能します。 1.Laravelは、最新のWebアプリケーションの構築に適したEloquentormおよびBladeテンプレートエンジンを提供します。 2。Pythonには豊富な標準的な図書館とサードパーティライブラリがあり、DjangoとFlaskのフレームワークはさまざまな開発ニーズを満たしています。

Laravelの目的:堅牢でエレガントなWebアプリケーションの構築Laravelの目的:堅牢でエレガントなWebアプリケーションの構築Apr 17, 2025 am 12:13 AM

Laravelは、コード構造を明確にし、開発プロセスをより芸術的にすることができるため、選択する価値があります。 1)LaravelはPHPに基づいており、MVCアーキテクチャに従い、Web開発を簡素化します。 2)Eloquentorm、Artisan Tools、Bladeテンプレートなどのコア機能は、開発の優雅さと堅牢性を高めます。 3)ルーティング、コントローラー、モデル、ビューを通じて、開発者はアプリケーションを効率的に構築できます。 4)キューやイベントモニタリングなどの高度な機能により、アプリケーションのパフォーマンスがさらに向上します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。