ホームページ  >  記事  >  PHPフレームワーク  >  laravelルーティング設定ファイルとは何ですか

laravelルーティング設定ファイルとは何ですか

PHPz
PHPzオリジナル
2023-04-21 11:21:54896ブラウズ

Laravel ルーティング構成ファイルとは

Laravel は、URL をコントローラー メソッドにマッピングできる強力なルーティング システムを提供する、人気のある PHP 開発フレームワークです。 Laravel のルーティング システムを使用すると、RESTful API や Web アプリケーションを簡単に作成でき、さまざまな HTTP リクエスト (GET、POST、PUT、DELETE など) を非常に簡単な方法で処理できます。 Laravel では、ルートは 1 つ以上の一括ルート定義で構成され、グループ化されたルートにグループ化することもできます。この記事では、Laravel ルーティング設定ファイルに焦点を当てます。

Laravel では、ルーティングはルーティング ファイルで直接定義することも、ルーティング設定ファイルを使用して定義することもできます。では、ルーティング設定ファイルとは何でしょうか?簡単に言えば、Laravel ルーティング構成ファイルはルーティングを定義する PHP ファイルであり、ルーティング定義、ルーティング グループ、その他の情報が含まれています。構成ファイルにルート定義を配置すると、コントローラーのコードを変更せずに、構成ファイルを変更するだけでアプリケーションのルーティングを変更できます。

Laravel のルーティング設定ファイルは通常 /routes ディレクトリに保存され、ファイル名は web.php または api.php で、それぞれ Web アプリケーションと API アプリケーションのルーティング定義に対応します。どちらのファイルでも、Laravel はアプリケーション ルートの設計を開始するために直接使用できるサンプル コードを提供します。たとえば、web.php ファイルにはサンプル ルートが含まれています。

Route::get('/', function () { 
    return view('welcome');
});

このルートは、URL が「/」の場合に「welcome」という名前のビューを返す GET リクエストを定義します。同様に、ルート例の定義は api.php ファイルで提供されます。例:

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

このルートは GET リクエストを定義します。URL が「/user」の場合、ユーザーを認証し、現在のユーザーの情報を返すために「auth:api」ミドルウェアを使用する必要があります。

Laravel のルーティング設定ファイルでは、ルーティング マクロ定義を使用してルーティング定義コードを簡素化できます。ルート マクロ定義を使用すると、再利用可能なルート テンプレートを作成し、それをさまざまなルートで使用できます。たとえば、web.php ファイルで「dashboard」というマクロ定義を定義できます。

Route::macro('dashboard', function () {
    Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
});

このマクロ定義をアプリケーション内の他の場所で使用できます。

Route::middleware(['auth', 'verified'])->dashboard();

このルートは、 GET リクエスト。URL が「/dashboard」で、「auth」および「verified」ミドルウェアによって検証されると、DashboardController クラスのインデックス メソッドが呼び出され、「dashboard」という名前が付けられます。

Laravel のルーティング設定ファイルには、ルーティングのグループ化の機能も提供されています。ルート グループ化により、ルーティング グループ内のルート グループに対して同じミドルウェア、名前付きプレフィックス、名前空間、その他のオプションを定義できます。たとえば、web.php ファイルで、「admin」という名前のルーティング グループを作成できます。

Route::prefix('admin')->middleware(['auth'])->group(function () {
    Route::get('/', [AdminController::class, 'dashboard'])->name('admin.dashboard');
    Route::get('/users', [UserController::class, 'index'])->name('admin.users.index');
    Route::get('/users/{id}', [UserController::class, 'show'])->name('admin.users.show');
});

このルーティング グループは、ルーティング パス プレフィックス「admin」を定義しており、「auth」ミドルウェアを使用して検証する必要があります。次に、ユーザーは 3 つのサブルートを定義します。 URLが「/admin」の場合は、AdminControllerクラスのダッシュボードメソッドを呼び出して「admin.dashboard」という名前を付け、URLが「/admin/users」の場合は、UserControllerクラスのindexメソッドを呼び出して「admin」という名前を付けます。 " .users.index"; URL が "/admin/users/{id}" の場合、UserController クラスの show メソッドを呼び出し、名前を "admin.users.show" にします。

ルーティング グループをネストして、よりきめ細かい方法でルーティングを編成することもできます。たとえば、上記の例では、「admin」ルーティング グループに「settings」という名前のサブグループを作成できます。

Route::prefix('settings')->group(function () {
    Route::get('/', [SettingsController::class, 'index'])->name('admin.settings.index');
    Route::post('/', [SettingsController::class, 'update'])->name('admin.settings.update');
});

このサブグループは、ルーティング パス プレフィックス「settings」を定義し、次に 2 つのサブルートを定義します。 GET リクエストと POST リクエストでは、SettingsController クラスのインデックス メソッドと更新メソッドをそれぞれ呼び出し、「admin.settings.index」と「admin.settings.update」という名前を付けます。

概要:

Laravel のルーティング設定ファイルは、ルーティングを定義する PHP ファイルです。通常、/routes ディレクトリに保存されます。ファイル名は、web.php または api.php に対応します。それぞれ Web アプリケーションへのルーティング定義、および API アプリケーションのルーティング定義。

ルート ファイルでは、Laravel が提供するルート マクロ定義を使用してコードを簡素化できます。また、ルート グループ化を使用して、ルートのグループに対して同じミドルウェア、名前付きプレフィックス、名前空間、その他のオプションを定義できます。 。

ルーティング グループをネストして、よりきめ細かい方法でルーティングを編成できます。

以上がlaravelルーティング設定ファイルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。