ルーティングファイル
- Laravelのルーティングはルーティングファイルに書く
- ルーティングファイルの場所は
app/routes/web.php
ルーティングの書き方
ビューの雛形
生成直後のルーティングファイルでは下記のルーティングのみが書かれており、準備されたビューファイルが返されるようになっている。
1 2 3 |
Route::get('/', function () { return view('welcome'); }); |
無名関数の中でview()
メソッドが呼ばれているが、このメソッドの引数文字列に.blade.php
を付けたファイル名のビューファイルが、resources/views
ディレクトリー下で検索されて表示される。
直接出力
ブラウザーに文字列だけを表示する簡単な例として、GETで/top
にルーティングして’ようこそ’と表示するには以下の様に書く。
Route::get('top', function() { return 'ようこそ'; });
get()
メソッドの第1引数にURI、第2引数にそのURLにGETしたときに返されるコンテンツを指定している。
- 第1引数のURIは、ドメイン以降のディレクトリー・ファイルで、冒頭の’
/
‘は付けても付けなくてもよい - 第2引数の無名関数は、コントローラーに渡されるコールバック
無名関数の戻り値に直接HTMLを書けば、その内容がブラウザーでパースされて表示される。つまり以下のような書き方もできる(現実的ではないが)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Route::get('/tutorial/raw-html', function() { return ' <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>ルーティングファイル内のHTML</title> </head> <body> <h1>HTMLの例</h1> <p> この内容は、ルーティングファイルの無名関数内に直接書いています。 </p> </body> </html> '; }); |
リクエスト元の指定
第1引数はドメインより後のパスを指定する。たとえばリクエストが
http://www.myapp.com/user/profile
の場合は以下のようになる。
Request::get('/usr/profile', ...);
または
Request::get('usr/profile', ...);
コントローラー・アクション指定
コントローラーとアクションを指定する以下の書き方が一般的。
Route::get('パス', 'コントローラー名@アクション名');