ホームページ  >  記事  >  PHPフレームワーク  >  laravelルーティングファイルはどのディレクトリにありますか?

laravelルーティングファイルはどのディレクトリにありますか?

青灯夜游
青灯夜游オリジナル
2022-04-28 13:07:474788ブラウズ

Laravel ルーティング ファイルは「routes」ディレクトリにあります。 Laravel のすべてのルーティング ファイルは、routes ディレクトリで定義され、その中のコンテンツはフレームワークによって自動的にロードされます。このディレクトリには、web.php、api.php、console のさまざまな入口で使用するための 4 つのデフォルトのルーティング ファイルがあります。 php 待ってください。

laravelルーティングファイルはどのディレクトリにありますか?

このチュートリアルの動作環境: Windows 7 システム、Laravel 6 バージョン、DELL G3 コンピューター。

Laravel で URI とクロージャを渡すだけでルートを定義できるのは非常に便利です。

Route::get('foo', function () {
    return 'Hello World';
})

Laravel のすべてのルートは Routes ディレクトリで定義され、このディレクトリ内のコンテンツはフレームワークによって自動的にロードされます。 Routes ディレクトリには、さまざまな入り口で使用する 4 つのデフォルトのルーティング ファイルがあります: web.php、api.php、console.php、channels.php。

  • web.php ファイルに含まれるルートはすべて、RouteServiceProvider によって定義された Web ミドルウェア グループの制約内にあるため、セッション、CSRF 保護、および Cookie 暗号化機能をサポートします。ステートレスな RESTful スタイル API を提供する必要がない場合、ルーティングは基本的に web.php ファイルで定義されます。

  • api.php ファイルに含まれるルートは、API ミドルウェア グループの制約内にあり、頻度制限機能をサポートしています。これらのルートはステートレスであるため、リクエストはこれらのルートを通じてアプリケーションに入力されます。トークンを渡す必要がある 認証が発生し、セッション状態にアクセスできません。

  • console.php ファイルは、すべてのクロージャベースのコンソール コマンドを定義するために使用されます。各クロージャはコンソール コマンドにバインドされており、コマンド ライン IO メソッドとの対話が可能です。ただし、このファイルはHTTP ルーティングを定義するのではなく、コンソールベースのアプリケーション エントリ (ルーティング) を定義します。

  • Channels.php ファイルは、アプリケーションでサポートされているすべてのイベント ブロードキャスト チャネルを登録するために使用されます。

多くのプロジェクトは基本的に、routes/web.php を開始点として使用して開発されるため、プロジェクトを迅速に開発する必要性が認識されます。 Routes/web.php で定義されたルートには、ブラウザから直接アクセスできます。たとえば、次のルートにアクセスするには、ブラウザに http://your-app.dev/user アドレスを入力します。

Route::get('/user', 'UsersController@index');

routes/api.php で定義されたルートは、ルーティング グループにネストされています。これは次のとおりです。 RouteServiceProviderに設定します。このグループのルートはすべて /api URI プレフィックスを使用するため、ルートを定義するときにこのプレフィックスを手動で追加する必要はありません。 /api プレフィックスを使用したくない場合は、RouteServiceProvider で変更できます。

/**
 * Define the "api" routes for the application.
 *
 * These routes are typically stateless.
 *
 * @return void
 */
protected function mapApiRoutes()
{
    Route::prefix('api')
         ->middleware('api')
         ->namespace($this->namespace)
         ->group(base_path('routes/api.php'));
}

利用可能なルーティング メソッド

各 HTTP リクエスト タイプには、対応する利用可能なルーティング メソッドがあります:

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);

場合によっては、ルートが To に一致する必要がある場合があります。複数のリクエスト タイプの場合は、match メソッドを使用できます。

Route::match(['get', 'post'], '/', function () {
    //
});

すべてのリクエスト タイプに一致するルートが必要な場合は、任意のメソッドを使用します:

Route::any('foo', function () {
    //
});

CSRF 保護

Use Route::post, Route ::put、Route::patch、および Route::delete で定義されたルートでは、それらにアクセスする HTML フォームが CSRF トークンを渡す必要があります。そうでない場合、リクエストは拒否されます。詳細については、CSRF ドキュメントを参照してください。

<form method="POST" action="/profile">
    {{ csrf_field() }}
    ...
</form>

リダイレクト ルーティング

あるルートを別のルートにリダイレクトする場合は、Route::redirect メソッドを使用できます。これにより、単純なリダイレクトを操作するための完全なルートまたはコントローラーを定義する手間が省けます。

Route::redirect(&#39;/here&#39;, &#39;/there&#39;, 301);

View Route

単純に For ビューを返したい場合は、次のようにします。 Route::view メソッドを使用できます。このメソッドは Route::redirect メソッドに似ており、これによりトラブルも軽減されます。 view メソッドの最初のパラメータは URI、2 番目のパラメータはビュー名です。さらに、オプションの 3 番目の配列型パラメーターを使用してデータをビューに渡すこともできます:

Route::view(&#39;/welcome&#39;, &#39;welcome&#39;);
Route::view(&#39;/welcome&#39;, &#39;welcome&#39;, [&#39;name&#39; => &#39;Taylor&#39;]);

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

以上がlaravelルーティングファイルはどのディレクトリにありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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