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']

これはBlogControllershowListメソッドを実行するという意味です。

簡単にすると、以下の流れになります。

/blogsにアクセス → Route → BlogController → showListを実行

POST方式

データを登録するときは、POST方式のRouteを使うこともできます。

Route::post('/blogs/insert', [BlogController::class, 'insert']);

/blogs/insertにPOSTリクエストがあると、BlogControllerinsertメソッドが実行されます。

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とメソッドを設定できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

技術情報

前の記事

Laravel Migrationとは?
技術情報

次の記事

LaravelのControllerとは?