ホームページ  >  記事  >  PHPフレームワーク  >  laravelルーティングは何をするのでしょうか?

laravelルーティングは何をするのでしょうか?

WBOY
WBOYオリジナル
2022-04-12 15:24:202303ブラウズ

laravel では、ルーティングの役割は、ユーザーのさまざまな URL リクエストを対応するプログラムに転送して処理することです; ルーティングは、外部の世界が laravel アプリケーションにアクセスする方法であり、ルーティングは、Laravel アプリケーションがどのようにサービスを提供するかを定義します。具体的には、laravelのルーティングはroutesフォルダに定義されています。

laravelルーティングは何をするのでしょうか?

#この記事の動作環境: Windows 10 システム、Laravel バージョン 6、Dell G3 コンピューター。

laravel ルーティングの役割とは何ですか?

ルーティングの役割は、ユーザーのさまざまな URL リクエストを、処理のために対応するプログラムに転送することです。Laravel のルーティングは、routes フォルダーに定義されており、4 つのルーティング ファイル。web.php ファイルで基本的なページ リクエストが定義されます。

laravel では、ルーティングは外部の世界が Laravel アプリケーションにアクセスするための方法、またはルーティングは Laravel アプリケーションが外部の世界にサービスを提供する特定の方法を定義します。ルーティングは、事前に計画された計画に従って、ユーザーのリクエストを指定されたコントローラーおよびメソッドに送信して処理します。

基本的なルーティング

最も基本的なルーティング リクエストは get リクエストと post リクエストで、Laravel は Route オブジェクトを通じてさまざまなリクエスト メソッドを定義します。たとえば、URL 'req' で get リクエストを定義し、文字列 'get response' を返します。

Route::get('req',function (){undefined
return 'get response';
});

get メソッドで http://localhost/Laravel/laravel52/public/req をリクエストすると、戻り値が返されます。次のように:

laravelルーティングは何をするのでしょうか?

同様に、投稿リクエストを定義するときは、Route::post(url,function(){});

を使用します。複数のリクエストのルーティング

複数のリクエスト メソッドに同じ処理を使用する場合は、match または any を使用できます。

match を使用して、対応するリクエスト メソッドと一致させます。たとえば、次のようになります。 get または when post リクエスト req2 を使用すると、一致する応答が返されます:

Route::match(['get','post'],'req2',function (){undefined
return 'match response';
});

any は、任意のリクエスト メソッドに一致します。たとえば、req3 がいずれかのメソッドでリクエストされた場合、任意の応答が返されます:

Route::any('req3',function (){undefined
return 'any response';
});

リクエスト パラメータ

必須パラメータ: パラメータを含むリクエストを送信する場合、ルート内で受信できます。パラメータを囲み、/ で区切るには中括弧を使用します。たとえば、 :

Route::get('req4/{name}/{age}', function ($name, $age) {undefined
return "I'm {$name},{$age} years old.";
});

With get リクエスト時にパラメータを渡すと、結果は次のようになります:

laravelルーティングは何をするのでしょうか?

オプションのパラメータ: 上記のパラメータは必須です。が欠落している場合、エラーが報告されます。パラメータをオプションにしたい場合は、それに ? を追加してデフォルト値を設定できます。デフォルト パラメータは最後のパラメータである必要があります。それ以外の場合は、パラメータを配置しても認識されません中央:

Route::get('req4/{name}/{age?}', function ($name, $age=0) {undefined
return "I'm {$name},{$age} years old.";
});

定期的な検証: リクエスト内のパラメーターを確認する場所を使用できます。 Verify

Route::get('req4/{name}/{age?}', function ($name, $age=0) {undefined
return "I'm {$name},{$age} years old.";
})->where(['name'=>'[A-Za-z]+','age'=>'[0-9]+']);

ルーティング グループ

場合によってはルートたとえば、第 1 レベルのルート ホームを定義し、その下に第 2 レベルのルート記事を定義するなど、複数のレベルを持つことができます。これには、記事とコメントをホーム グループに配置する必要があります。配列キー プレフィックス

Route::group(['prefix' => 'home'], function () {undefined
Route::get('article', function () {undefined
return 'home/article';
});
});

を使用してプレフィックス home をルート アーティクルに追加し、home/article を通じてルートにアクセスできるようにします。

ルートの名前付け

ルートに名前を付ける必要がある場合は、ルートを定義するときに as 配列キーを使用してルート名を指定する必要があります。たとえば、ルートに home/comment comment という名前を付けた場合、URL とリダイレクトを生成するときにルート名のコメントを使用できます。

Route::get('home/comment',['as'=>'comment',function(){undefined
return route('comment'); //通过route函数生成comment对应的url
}]);

出力は http://localhost/Laravel/laravel52/public/home/ となります。コメント

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

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

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