この記事では、LaravelのWebルーティングの仕組みと使い方について詳しく解説します。
laravelのルーティングとは?
Laravelにおけるルーティングの設定Laravelのルーティング設定は、routes/web.phpファイルに記述されます。このファイルには、Webページへのアクセスに関するルート定義が含まれます。
Route::get('/', function () { return view('welcome'); });
上記の例では、ルートURL('/')へのGETリクエストが来た場合、welcomeビューを表示するように設定されています。
ルーティングの基本的なメソッド
Laravelでは、以下のような基本的なルーティングメソッドを利用できます。
GETリクエスト
Route::get($uri, $callback);
POSTリクエスト
Route::post($uri, $callback);
GET&POSTリクエスト
Route::match(['get', 'post'], $uri, $callback);
PUTリクエスト
Route::put($uri, $callback);
DELETEリクエスト
Route::delete($uri, $callback);
これらのメソッドは、HTTPのリクエストメソッド(GET、POST、PUT、DELETE)に対応しています。
名前付きルーティング
Laravelでは、ルートに名前を付けることができます。これにより、ビューやコントローラからルートを参照しやすくなります。
Route::get('user/profile', 'UserController@showProfile')->name('profile');
この例では、user/profileのURLに対してUserControllerのshowProfileメソッドが呼び出され、ルートの名前としてprofileが設定されています。
ルートパラメータ
ルート定義において、特定のセグメントをキャプチャすることができます。これは、動的なURLの生成に役立ちます。
Route::get('user/{id}', 'UserController@show');
この例では、user/1やuser/123のようなURLにアクセスすると、UserControllerのshowメソッドが呼び出されます。
ミドルウェアとルーティング
ミドルウェアは、HTTPリクエストとレスポンスの間に挟むことができるフィルターのようなものです。これをルーティングと組み合わせることで、特定のルートへのアクセス制限などの機能を追加することができます。
Route::get('admin/profile', 'AdminController@show')->middleware('auth');
上記の例では、authミドルウェアを使用して、認証されていないユーザーがadmin/profileへのアクセスを試みるとリダイレクトされます。