Laravelを使ったWeb開発において、最も基本であり重要になるのが「ルーティング」と「コントローラー」の連携です。
この記事では、初心者向けに「ルーティング」と「コントローラー」がそれぞれどのような役割を持ち、どうやって連携しているのかを分かりやすく解説します。
1. ルーティングとコントローラーの役割とは?
Webサイトにアクセスしたとき、内部では以下のような流れで処理が行われています。
- ルーティング(Web APIの案内役) ユーザーがアクセスしたURL(例:
/aboutや/contact)を見て、「どの処理を実行するか」を交通整理する役割です。 - コントローラー(司令塔) ルーティングからバトンを受け取り、「データベースからデータを取ってくる」「画面(ビュー)を出力する」といった具体的な処理を行って結果を返します。
2. ルーティングの設定 (routes/web.php)
Laravelでは、Webページのルーティングを routes/web.php ファイルに記述します。
PHP
use App\Http\Controllers\PageController;
use Illuminate\Support\Facades\Route;
// '/about' にアクセスがあったら PageController の about メソッドを呼ぶ
Route::get('/about', [PageController::class, 'about']);上記のコードは「ユーザーが /about というURLにアクセスしたら、PageController というコントローラーの about 処理を実行してね」という意味になります。
3. コントローラーの作成 (PageController.php)
次に、ルーティングから呼び出されるコントローラーを作成します。
コマンドライン(ターミナル)で以下の Artisan コマンドを実行してコントローラーを作成します。
Bash
php artisan make:controller PageController作成された app/Http/Controllers/PageController.php に、以下のように処理(メソッド)を記述します。
PHP
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PageController extends Controller
{
// '/about' アクセス時に実行される処理
public function about()
{
// 文字列を直接ブラウザに出力する
return 'Hello, Laravel! ルーティングとコントローラーのテストです。';
}
}ブラウザでhttp://localhost/my-app/public/aboutにアクセスすると、文字が表示されます。

4. 全体の流れまとめ
- ユーザーがブラウザでhttp://localhost/my-app/public/aboutにアクセスする
- ルーティング(web.php)がURLを検知し、
PageControllerのaboutメソッドに処理を渡す - コントローラー(PageController.php)が直接文字列(
Hello, Laravel!...)を返却する - ブラウザ上に指定したメッセージがテキストとして表示される
この構成にしておくと、「まずはルーティングとコントローラーの連携だけを確認したい」という学習者にとっても、よりシンプルな解説になります。



コメント