主要な PHP Web アプリケーション フレームワークである Laravel は、開発者の生産性とコードの柔軟性を向上させるエキサイティングな新機能と改善点を満載したバージョン 11.30 をリリースしました。 主要なアップデートを見てみましょう。
新しいヘルパーによる効率化されたテスト: withDefer()
および withoutDefer()
Laravel 11.30 では、Tim MacDonald の厚意により withDefer()
と withoutDefer()
が導入されました。これらは、遅延呼び出しを利用するコードをテストする場合に非常に貴重であり、正確なアサーション制御のために遅延を選択的に無効にすることができます。
withoutDefer()
を使用した例:
<code class="language-php">// This won't work correctly User::create(/* ... */); $this->assertAgainstSomeDeferredOutcome(); // This works as intended $this->withoutDefer(); User::create(/* ... */); $this->assertAgainstSomeDeferredOutcome();</code>
テスト中の遅延操作に対する制御が強化されたことで、より信頼性が高く正確なテスト結果が得られます。
HasUniqueStringIds
特性を使用したカスタムの一意の文字列 ID
Luke Kuzmish の貢献である HasUniqueStringIds
トレイトにより、開発者は resolveRouteBindingQuery()
を変更せずにカスタムの一意の文字列 ID をルート キーとして利用できるようになります。 これは既存の HasUuids
と HasUlid
の特性を拡張し、ID 生成の柔軟性を高めます。
カスタムの一意の文字列 ID の実装:
<code class="language-php">trait HasTwrnsTrait { use HasUniqueStringIds; public function newUniqueId() { return (string) Twrn::new(); } protected function isValidKey($value): bool { return Twrn::isValid($value); } }</code>
この機能により、標準的な Laravel の実践とシームレスに統合しながら、高度にカスタマイズされたモデル識別子が可能になります。
直接列挙型サポートによる拡張認証
Johan van Helden による AuthorizesRequests
トレイトの更新により、Laravel による最近のフレームワーク全体での Enum の採用に合わせて、サポートされた enum が直接受け入れられるようになりました。
authorize()
メソッドで列挙型を使用する:
<code class="language-php">enum DashboardPermission: string { case VIEW = 'dashboard.view'; } // Previously public function index(): Response { $this->authorize(DashboardPermission::VIEW->value); // ... } // Now public function index(): Response { $this->authorize(DashboardPermission::VIEW); // ... }</code>
この単純化により、認可コードの型の安全性と可読性が向上します。
その他の重要な機能強化
バージョン 11.30 には以下も含まれます:
Blade::directive
パラメータを使用して $bind
機能を拡張しました。trans_choice()
区切り文字を含む翻訳置換に関する |
の問題を解決しました。exists()
の代わりに count()
を使用したパフォーマンスの最適化。PostTooLargeException
のエラー メッセージが改善されました。failed_jobs_uuid_unique
に関する整合性制約違反を修正しました。Laravel 11.30 は、継続的な改善と開発者のエクスペリエンスに対するフレームワークの取り組みを強調しています。 洗練されたテスト、柔軟なモデル ID、合理化された Enum ベースの認証を備えたこのリリースでは、よりクリーンで効率的なコードを作成するための強力な新しいツールが開発者に提供されます。 Laravel は、堅牢で機能豊富な Web アプリケーションを構築する PHP 開発者にとって、依然としてトップの選択肢です。
Laravel を活用してビジネスを向上させる準備はできていますか? 今すぐお問い合わせください。
以上がLaravel テスト、モデル ID、認可における飛躍的な進歩の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。