Laravelを学び始めたとき、最初に触れるのが「ルーティング」と「ビュー(テンプレートエンジン)」です。
この記事では、まず最もシンプルな routes/web.php で文字を表示する方法を試したあと、Laravelのテンプレートエンジンである Blade(ブレイド) ファイルを使って画面を描画します。後半では、ブラウザでアクセスしてから画面が表示されるまでの「仕組み」を分かりやすく解説します。
前提条件
XAMPPの Apache を起動し、htdocs 内のプロジェクト my-app にアクセスできる状態(http://localhost/my-app/public/)で進めます。
ステップ1:routes/web.php で直接「Hello World!」を表示する
Laravelのルーティング(URLと処理の紐付け)は、主に routes/web.php というファイルで管理されています。
1. コードの書き換え
routes/web.php を開き、次のように記述(または書き換え)します。
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return 'Hello World!';
});2. 動作確認
ブラウザで以下にアクセスします。
http://localhost/my-app/public/
画面にテキストで Hello World! と表示されれば成功です。

ステップ2:Bladeファイルを使って「Hello World!」を表示する
実際のWeb開発では、PHPファイル内に直接文字列を返すのではなく、HTMLを表示させるのが一般的です。Laravelでは Blade(ブレイド) というテンプレートエンジンを使います。
1. Bladeファイルの作成
resources/views ディレクトリの中に、hello.blade.php という名前で新しいファイルを作成します。
resources/views/hello.blade.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
<p>Bladeテンプレートから出力しています。</p>
</body>
</html>2. ルーティングの書き換え
routes/web.php を開き、先ほど作成したBladeファイルを呼び出すように変更します。
resources/views/hello.blade.php を指定する形に書き換えます。
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('hello');
});ポイント:
view('hello')の'hello'は、resources/views/hello.blade.phpのhello部分に対応しています(拡張子の.blade.phpは省略します)。
3. 動作確認
再度ブラウザで http://localhost/my-app/public/ にアクセスします。大きな見出しで Hello World! と表示されていれば完了です。

なぜ動くの?Laravelの「仕組み」を解説
今回行った操作の裏側で、Laravelがどのようにリクエストを処理しているかを解説します。
1. リクエストの入口(public/index.php)
ブラウザでURLにアクセスすると、まずLaravelプロジェクトの public/index.php が呼び出されます。ここがすべての処理の入口(フロントコントローラー)となります。

2. ルーティング(Route)の役割
Route::get('/', ...) は、「トップページ(/)へのアクセスが来たら、この中の処理を実行する」 という指示(ルーター)です。
- 第一引数(
'/'): URLのパスを指定します。 - 第二引数(無名関数): そのURLにアクセスされた時に実行する処理を書きます。
Route::get('/', function () {
return 'Hello World!';
});
Route::get('/', function () {
return view('hello');
});3. view() ヘルパー関数の役割
ステップ2で使用した view('hello') は、Laravelに用意されている便利関数です。
resources/views/の中から指定された名前(hello.blade.php)を探す。- Bladeファイルを解析して通常のHTMLに変換(コンパイル)する。
- 完成したHTMLをブラウザに返す。
Route::get('/', function () {
return view('hello');
});<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
<p>Bladeテンプレートから出力しています。</p>
</body>
</html>
全体の処理の流れ
[ ユーザー (ブラウザ) ]
│ ① http://localhost/my-app/public/ にアクセス
▼
[ public/index.php ]
│ ② Laravelのフレームワークを起動
▼
[ ルーティング (routes/web.php) ]
│ ③ URL判定 ➔ view('hello') を呼び出す
▼
[ ビュー (resources/views/hello.blade.php) ]
│ ④ HTMLを生成
▼
[ ユーザー (ブラウザ) ] ➔ ⑤ HTMLを受け取って画面表示

- ステップ1 では、ビューを挟まずにルーティングから直接文字列を返していました。
- ステップ2 では、ルーティングが「ビュー(Blade)」を呼び出し、HTMLを組み立てて出力する処理になりました。
まとめ
routes/web.phpでURLと処理の紐付けを行う。resources/views/xxxx.blade.phpにHTML(画面見た目)を書く。Route::get()内でview('xxxx')を返すことで画面を表示できる。
まずはこの「ルーティング ➔ ビューで画面表示」という基礎の流れを押さえておきましょう。



コメント