エンジニア日記

現役エンジニアの役に立てばいいなと思い立ち上げたブログ

Laravel入門: ルーティングの基本を徹底解説

※ 当ブログにはプロモーションが含まれています

はじめに

Laravelを使い始めたけど「ルーティングって何?」という方へ。

この記事では、Laravelにおけるルーティングの基本を、初心者でもわかるように丁寧に解説します。
web.phpの基本から、API開発で使うルートの書き方、パラメータの受け取り方まで網羅!

※まずはPHPを勉強したい方はこちらの本がおすすめです。

1. ルーティングとは?

ルーティングとは、「どのURLでどの処理を行うか」をLaravelに教える設定のことです。

// 例:アクセスされたら「Hello Laravel!」を返す
Route::get('/', function () {
    return 'Hello Laravel!';
});

2. ルートの定義ファイル:web.phpapi.php の違い

Laravelには主に2つのルート定義ファイルがあります。

ファイル名 用途 URLのprefix
routes/web.php Web画面・フォーム処理など そのまま(例:/
routes/api.php API向けのエンドポイント 自動で/api/が付く(例:/api/users

注意:
APIルートはwebミドルウェアが付かないため、セッションやCSRF保護が無効です。

3. 代表的なルーティングの書き方

🔹 GET(取得)

Route::get('/hello', function () {
    return 'Hello GET';
});

🔹 POST(送信)

Route::post('/submit', function () {
    return 'Form submitted!';
});

🔹 パラメータ付き

Route::get('/user/{id}', function ($id) {
    return "User ID: $id";
});

🔹 オプションパラメータ

Route::get('/user/{name?}', function ($name = 'ゲスト') {
    return "こんにちは、$name さん";
});

4. 名前付きルート(name()

Route::get('/dashboard', function () {
    return view('dashboard');
})->name('dashboard');

ビューやリダイレクトで route('dashboard') として使用可能になります。

5. コントローラーに分離する書き方

ルートに直接処理を書くのではなく、コントローラーを使うのが一般的です。

Route::get('/users', [UserController::class, 'index']);

名前空間が設定されていれば、自動で app/Http/Controllers/ 以下を探します。

6. Laravel初心者におすすめの教材📚

ルーティングやMVCを深く理解するには、書籍や動画教材も活用しましょう!

Laravelの教科書 バージョン10対応 [ 加藤 じゅんこ ]

価格:3300円
(2025/6/23 19:26時点)

Laravel 11 Cookbook Proven workflows, solutions and techniques to build, deploy, and monitor Laravel applications【電子書籍】[ Sanya Voltra ]

価格:5727円
(2025/6/23 19:28時点)

関連記事