Laravelのルーティングって何?使い方と実例解説

はじめに

Laravelを使ってWebアプリを開発していると、最初に出てくるのが「ルーティング」。けど、初心者にはちょっととっつきにくい…。
この記事では「Laravelのルーティングとは何か?」「どうやって使うのか?」を、実際のコード例を交えながらわかりやすく解説します!


やりたいこと

  1. Laravelのルーティングの基本を理解する

  2. ルート定義の書き方を覚える

  3. コントローラとルートの連携方法を学ぶ


準備するもの

ライブラリ

Laravel本体があればOKです(v8以降を想定しています)

インポート手順

ターミナルで以下を実行して、Laravelプロジェクトを作成します:

bash
composer create-project laravel/laravel my-app

このライブラリの説明

LaravelはPHPで作られたWebアプリケーションフレームワーク。ルーティング、DB、認証などが簡単に扱えるのが特徴。


ディレクトリ構成

plaintext
my-app/
├── routes/
│   └── web.php       ← ブラウザ経由のルーティングはここに記述
├── app/
│   └── Http/
│       └── Controllers/
│           └── SampleController.php

Laravelでは routes/web.php にルーティングを書くようにあらかじめ設定されています(ここでは割愛しますが、フレームワーク側でそういう仕組みになっています)。


コードスクリプト

コードスクリプトの概要

以下では3パターンのルートを紹介します。

  • シンプルなGETルート

  • パラメータ付きルート

  • コントローラーと連携するルート

1. シンプルなGETルート

routes/web.php
Route::get('/hello', function () {
return 'こんにちは!';
});

ブラウザで /hello にアクセスすると、「こんにちは!」と表示されます。


2. パラメータ付きルート

web.php
Route::get('/user/{name}', function ($name) {
return "こんにちは、{$name}さん!";
});

/user/yama にアクセスすると「こんにちは、yama

さん!」が返ってきます。


3. コントローラーと連携

コントローラーと連携することで、ルートから処理を切り離してコードを整理しやすくなり、可読性や再利用性がアップします。

routes/web.php
use App\Http\Controllers\SampleController;

Route::get('/sample', [SampleController::class, 'show']);
app/Http/Controllers/SampleController.php
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class SampleController extends Controller
{
public function show()
{
return view('sample');
}
}

resources/views/sample.blade.php にテンプレートを用意すれば画面も表示できます。


実行結果

  • /hello → 「こんにちは!」

  • /user/yama → 「こんにちは、yamaさん!」

  • /sample → Bladeテンプレートが表示される


コード解説

  • Route::get() はHTTP GETリクエストに対応するルートを定義します。

  • コントローラーを使えば処理の分離ができて、コードがすっきりします。

  • use を使ってコントローラーを読み込むのがポイント!


注意点

  • ルートの定義順は重要!先にマッチしたものが優先されます。

  • パラメータは順番に注意。/user/{id}/post/{postId} のように複数もOK。

  • メソッド(GET, POSTなど)が違えば同じURLでも別ルートとして定義できます。


まとめ

Laravelのルーティングはアプリの「入り口」部分。ここを理解すれば開発がぐっと楽になります。
最初は難しく感じても、何度も触れているうちに自然と身につきますよ!

コメント

タイトルとURLをコピーしました