はじめに
Laravelを使ってWebアプリを開発していると、最初に出てくるのが「ルーティング」。けど、初心者にはちょっととっつきにくい…。
この記事では「Laravelのルーティングとは何か?」「どうやって使うのか?」を、実際のコード例を交えながらわかりやすく解説します!
やりたいこと
-
Laravelのルーティングの基本を理解する
-
ルート定義の書き方を覚える
-
コントローラとルートの連携方法を学ぶ
準備するもの
ライブラリ
Laravel本体があればOKです(v8以降を想定しています)
インポート手順
ターミナルで以下を実行して、Laravelプロジェクトを作成します:
composer create-project laravel/laravel my-app
このライブラリの説明
LaravelはPHPで作られたWebアプリケーションフレームワーク。ルーティング、DB、認証などが簡単に扱えるのが特徴。
ディレクトリ構成
コードスクリプト
コードスクリプトの概要
以下では3パターンのルートを紹介します。
-
シンプルなGETルート
-
パラメータ付きルート
-
コントローラーと連携するルート
1. シンプルなGETルート
ブラウザで /hello
にアクセスすると、「こんにちは!」と表示されます。
2. パラメータ付きルート
/user/yama
にアクセスすると「こんにちは、yama
さん!」が返ってきます。
3. コントローラーと連携
コントローラーと連携することで、ルートから処理を切り離してコードを整理しやすくなり、可読性や再利用性がアップします。
use App\Http\Controllers\SampleController; Route::get('/sample', [SampleController::class, 'show']);
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のルーティングはアプリの「入り口」部分。ここを理解すれば開発がぐっと楽になります。
最初は難しく感じても、何度も触れているうちに自然と身につきますよ!
コメント