ルーティングファイル
- 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('パス', 'コントローラー名@アクション名');