gitに記録しながらlaravel8.xプロジェクト作成の記録 (2)
本エントリは、以下リンクの続きです。
- 1. routes/web.php を修正
- 2.「welcome.blade.php 」を「top.blade.php」に変更
- 3. resources/views/top.blade.php を修正
- 今回修正したソース
- 続きはこちら
今回はlaravelアプリに対してトップページにアクセスした際に表示されるページを作成
このページには、トップページへのリンクが表示されますが、特に意味はありません。 あくまでNamed Routesを利用したリンクの書き方を説明するためだけに記述してます。
1. routes/web.php を修正
<?php //~~省略~~ Route::get('/', function () { return view('top'); })->name('top');
Routeファザードと呼ばれるもので、実態は、Routerクラスです。
Routerクラスの、getメソッドを呼び出すことで、ルーティング(どのURLにアクセスした時に、何をするのか)を登録しています。
この場合、ルート(/) のURL http://localhost:8888/MyApp/
にアクセスした場合に、第2引数の関数が実行されます。
ポイントは、nameメソッドを実行しているところです。
これは、「Named Routes(公式ドキュメント:英語)」と呼ばれるもので、リンク作成の際に少し便利になるため、私はよく利用します。
view('top')は、ヘルパー関数で、 「resources/views/top.blade.php」のbladeファイルを表しています。
ヘルパー関数とは?
ヘルパー関数は、laravelを利用する上で、よく使うものをグローバルな(どこからでもアクセスできる)関数としてまとめたものです。
ドキュメント、APIドキュメント
メモ
- Route::get()の戻り値は、Routeクラス(Illuminate/Routing/Route.php)
- Routeクラスには、nameメソッドが存在
- nameメソッドはメソッドチェーンという技術が利用されている
- laravelにはヘルパー関数と呼ばれるよく使う機能はヘルパが存在する
2.「welcome.blade.php 」を「top.blade.php」に変更
「welcome.blade.php」 のファイル名を、「top.blade.php」に変更します。
今回、view('top')という指定を行ったので、laravelはviewファイルを探しに行く時に「resources/views/」にある「top.blade.php」を探しに行きます。
変更しない場合のエラー内容
ファイル名を存在しない場合は、以下のようなエラーになります。
英語 | 日本語 |
---|---|
View [top] not found. | ビュー[トップ]が見つかりません。 |
3. resources/views/top.blade.php を修正
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>トップページ</title> </head> <body> <h1>トップページ</h1> <ul> <li><a href="{{route("top")}}">トップページ</a></li> </ul> </body> </html>
routeというヘルパー関数を利用して、Named Routesで登録したルート名を利用してリンクを構築しています。