WordPressのWebサイト開発で「もっと高度な機能を作りたい」「フレームワークに挑戦したい」と思ったときによく使われるのが、PHPの人気フレームワークLaravelです。
Laravelを学ぶ上で、最初に理解しておくべき重要な仕組みが「ルーティング(Routing)」です。
この記事では、ルーティングの基本概念から実際の書き方まで、初心者の方にも分かりやすく解説します!
ルーティング(Routing)とは?
ルーティングとは、一言で言うと「ユーザーがアクセスしたURLに応じて、どの処理を実行するかを案内する交通整理の仕組み」です。
例えば、ユーザーがWebブラウザで次のような操作をしたとします。
にアクセス ➔ トップページを表示(https://example.com/)Example Domainにアクセス ➔ 会社概要ページを表示(https://example.com/about)Example Domainにアクセス ➔ お問い合わせフォームを表示(https://example.com/contact)Example Domain
このように、「URL」と「表示するページや処理」を結びつける設定を行うのがルーティングです。
Laravelでルーティングを設定するファイル
Laravelでは、ルーティングの設定ファイルが用途ごとに分かれています。
基本的には、以下のファイルを編集します。
routes/web.php
Webブラウザからアクセスする通常のページ(HTMLを返すページ)のルーティングは、すべてこの web.php に記述します。
基本的なルーティングの書き方
まずは最もシンプルな書き方を見てみましょう。
use Illuminate\Support\Facades\Route;
Route::get('/hello', function () {
return 'Hello, World!';
});コードの解説
Route::get(): HTTPリクエストメソッドがGET(ページ閲覧など)の時に実行します。'/hello': アクセスされるURLのパスを指定します(例:)。(https://example.com/hello)Example Domainfunction () { ... }: URLにアクセスがあった時に実行される処理(無名関数)を書きます。
この設定を追加すると、/hello にアクセスした際に画面に「Hello, World!」と表示されます。
良く使うHTTPリクエストメソッド
Web開発では、目的に応じてルーティングのメソッドを使い分けます。
| メソッド | 用途 |
Route::get() | データの取得・ページの表示 |
Route::post() | フォームデータの送信・保存 |
Route::put() / Route::patch() | データの更新 |
Route::delete() | データの削除 |
例えば、お問い合わせフォームを表示するときは GET、フォームの送信処理を受け取るときは POST を使います。
// お問い合わせページの表示
Route::get('/contact', function () {
return view('contact');
});
// お問い合わせフォームの送信処理
Route::post('/contact', function () {
// 送信されたデータを保存する処理など
});ルーティングでパラメータ(値)を受け取る
ブログの記事詳細ページなど、URLの一部(IDなど)によって表示内容を変えたい場合は必須パラメータを使います。
Route::get('/post/{id}', function ($id) {
return '記事ID: ' . $id . ' のページです';
});- URLに
{id}のように波括弧をつけることで、その部分を変数として受取可能です。 にアクセスすると、「記事ID: 5 のページです」と表示されます。(https://example.com/post/5)Example Domain
コントローラーを使ったルーティング(実践向け)
実際の開発では、web.php の中に直接処理を書くのではなく、コントローラー(Controller)と呼ばれるファイルに処理をまとめるのが一般的です。
1. ルーティングの記述 (routes/web.php)
use App\Http\Controllers\UserController;
Route::get('/user/{id}', [UserController::class, 'show']);2. コントローラー側の記述 (app/Http/Controllers/UserController.php)
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class UserController extends Controller
{
public function show($id)
{
return view('user.profile', ['id' => $id]);
}
}このように「URLの受付」と「実際の処理」を分けることで、コードが整理されて保守しやすくなります。
まとめ
Laravelのルーティングの要点をまとめます。
- ルーティングは「URL」と「処理」を結ぶ交通整理の役割
- Webページのルーティングは
routes/web.phpに書く - GET(表示)やPOST(送信)などのメソッドを使い分ける
- URLに
{id}を使うと動的なパラメータを受け取れる - 本格的な開発ではコントローラーと連携させて書く
ルーティングはLaravel開発の第一歩です。まずは小さな処理を書きながら、挙動を確認してみてください!



コメント