【Laravel】routes/web.phpを編集してWebページを追加してみる
前回、ようやくLaravelの環境構築が完了しいよいよ触っていくのですが、今回はまずroutes/web.phpを編集してWebページを追加してみようと思います。ここを理解することでどのようにWebページが表示されるのか仕組みが理解できます。
下図はLaravelのプロジェクト作成時のトップページですが、このファイルがどこに置かれているか、それがなぜTOPページとして認識されているかを知っておきましょう。
Webページの仕組みを理解しよう
以下がプロジェクト内のファイル構成の一部ですが、TOPページはresources>views>welcome.blade.phpになります。ではなぜこれがTOPページと認識されるかというとroutes>web.appにその旨が記述されているからです。
Web.phpの中身はこんな感じになっています。赤枠で示したところがTOPページ(/)を示しているわけです。(http://127.0.0.1:8000/)
Route::get(アドレス, ページを示す関数);
Route::get('/', function () {
return view('welcome');
});
TOPページ情報がview('welcome') の引数welcomeに「.blade.php」を付けたものがファイル名になります。先程のwelcome.blade.phpがそれになります。
Webページを追加してみよう
次に新しいページを追加してみましょう。web.phpに以下の四角枠のコードを追加してみます。※コメント文は削除しました。
アドレスは「hello」です(http://127.0.0.1:8000/hello/)。そこにアクセスするとwelcome.blade.phpというページが開くというわけです。
Route::get('hello', function () {
return view('hello');
});
というわけで、welcome.blade.phpというファイルを新たに追加しました。
welcome.blade.phpの中身はこんな感じです。単純なHTMLタグとなります。
ご覧の通り開くことができました。
Route::get内にHTMLタグを記述することもできる
以上はRoute::get内にphpファイルを示していましたが、ファイルを指定するのではなく直接HTMLタグを記述することもできます。ヒアドキュメントでHTMLタグを変数$htmlに格納しました。それをRoute::getに渡せば良いわけです。
$html = <<<EOF
<!DOCTYPE html>
<html lang="jp">
<head>
<meta charset="UTF-8">
<title>Page3</title>
</head>
<body>
<h1>Page3</h1>
</body>
</html>
EOF;
Route::get('page3', function () use ($html) {
return $html;
});
ご覧の通り、http://127.0.0.1:8000/page3/を開くと新しく作ったページが現れます。
スポンサーリンク






