【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/を開くと新しく作ったページが現れます。
スポンサーリンク