Laravelのルーティングとは?
Laravelのルーティング(Route)は、URLにアクセスしたときに、どのControllerの処理を実行するかを決める役割があります。
MVCの流れでは、Controllerが実行される前にRouteを通ります。
簡単にすると、以下のような流れになります。
ユーザー → Route → Controller → Model → Database
Laravelの基本的なルーティングは、routes/web.phpファイルに書きます。
サンプルコード
例えば、/blogsにアクセスしたときにブログ一覧を表示する場合は、以下のように書きます。
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\BlogController;
Route::get('/blogs', [BlogController::class, 'showList']);
コード説明
Route::get()のgetは、HTTPのリクエスト方法を指定します。
Route::get()
ここではGET方式でページにアクセスします。
次の/blogsはアクセスするURLです。
'/blogs'
ユーザーが/blogsにアクセスすると、このRouteが実行されます。
次に、実行するControllerとメソッドを設定します。
[BlogController::class, 'showList']
これはBlogControllerのshowListメソッドを実行するという意味です。
簡単にすると、以下の流れになります。
/blogsにアクセス → Route → BlogController → showListを実行
POST方式
データを登録するときは、POST方式のRouteを使うこともできます。
Route::post('/blogs/insert', [BlogController::class, 'insert']);
/blogs/insertにPOSTリクエストがあると、BlogControllerのinsertメソッドが実行されます。
Routeに名前を付ける
Routeには名前を付けることもできます。
Route::get('/blogs', [BlogController::class, 'showList']) ->name('blogs');
このようにblogsという名前を付けると、他の場所からURLを直接書かずにRouteの名前を使うことができます。
まとめ
LaravelのRouteは、URLとControllerの処理をつなぐ役割があります。
基本的な流れは、
URLにアクセス → Route → Controller → メソッドを実行
となります。
Routeはroutes/web.phpに書き、GET・POSTなどのリクエスト方法、URL、実行するControllerとメソッドを設定できます。

