ルーティング?
ここで少しルーティングに付いて図を用いて説明します。
では/about
でアクセスされたらabout.balde.php
を表示したいとします。
さらに/
または/home
でアクセスされたらhome.blade.php
を表示するとします。
このようにあるURLでアクセスされたらあるviewを表示することをルーティングと言います。
ではルーティングをして見ましょう。
と、その前にwelcome.blade.php
を削除しちゃいましょう。
そしたら、about.blade.php
作成しちゃいましょう。
ちゃんとresource/views
の中に作成してください。とりあえず、以下のような感じにして見ました。
<!doctype html> <html> <head> <title>このサイトについて</title> <meta charset="utf-8"> </head> <body> <h1>このサイトについて</h1> </body> </html>
次に、home.blade.php
を作成しましょう。
<!doctype html> <html> <head> <title>ホーム</title> <meta charset="utf-8"> </head> <body> <h1>ホーム</h1> </body> </html>
次に本題のルーティングをしてみましょう。
route/web.php
を開いてください。
そうすると以下のようなコードが記述されています。
Route::get('/', function () { return view('welcome'); });
そうです。これがルートの定義です。
このRoute::get()
の説明をします。
これはget
メソッドでアクセスされた場合のルートです。
第一引数はアクセスされたパスです。
先ほどは/
なのでhttp://127.0.0.1:8000/
でアクセスされた場合を指します。
第二引数はアクセスされた時の処理です。
先ほどは
function () { return view('welcome'); }
のようになっていました。
この関数はview('welcome')
を返しています。
このview()
関数は第一引数にbladeファイルの頭文字列を渡します。
なので、home.blade.php
ならview('home')
、about.blade.php
ならview('about')
を返すと表示されます。
普通に文字列を返すことも出来ます。
実際に試してみましょう。
先ほどのコードを以下のようにしてみます。
Route::get('/', function () { return '/でアクセスされました。'; });
表示すると
おお、表示されました。
では早速先ほど作ったbladeを表示させてみましょう。
ちゃんと表示されました。
この章のまとめ
さてこの章ではルーティングの基礎を学びました。
次回はルーティングでbladeにmodelを渡してみます。