ホームページ >PHPフレームワーク >Laravel >Laravel8ルーティングモジュールに不足している新しいメソッドの導入

Laravel8ルーティングモジュールに不足している新しいメソッドの導入

藏色散人
藏色散人転載
2021-03-18 17:08:592129ブラウズ

次のチュートリアルコラムでは、Laravel 8 ルーティングモジュールに不足している新しいメソッドを紹介します。

Laravel バージョン 8.26.0 以降では、ルーティング モジュールに新しい

missing()Laravel8ルーティングモジュールに不足している新しいメソッドの導入 メソッドが追加されています。実際の開発では、ルーティングの Invisible binding を使用することがよくあります。対応するデータが自動的に検索されるため、コントローラーにコードを記述する必要性が軽減されます。

以前は、モデルが対応するデータを見つけられなかった場合、自動的にグローバルに統一された 404 ページにジャンプしていましたが、これは十分な柔軟性がありませんでした。

missing() メソッドは、この問題を解決するためにここにあります。

Route::get('/users/{user:slug}', [UserController::class, 'show'])
     ->name('user.view')
     ->missing(function (Request $request) {
         return Redirect::route('user.index');
     });

missing.test/users/dalian をリクエストする際、slug が dalian であるデータがユーザー テーブルに見つからない場合、統合 404 ページではなくユーザー リストのホームページにジャンプします。 注:

このメソッドは、ルートの非表示のバインディングに対してのみ有効です。たとえば、コントローラーで

findOrFail
メソッドを使用する場合、指定されたデータが見つからない場合、

missing
メソッドは開始されませんが、統合された 404 ページにジャンプします。

以上がLaravel8ルーティングモジュールに不足している新しいメソッドの導入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。