クロージャを利用したルーティングの作成


route laravel4

 悩み事

コントローラーを利用せずにルーターのみで完結させたい

 解決方法

app/routes.phpでルーティングを登録します

Routeファサードを利用してHTTPメソッドを指定できるという事を覚えておいて下さい

LaravelのRouteは以下のHTTPメソッドを指定する事ができます

  1. GET / HEAD: 指定されたURIのリソースを取り出す
  2. POST: GETとは反対にクライアントがサーバにデータを送信する
  3. PUT: 指定したURIにリソースを保存する
  4. PATCH: サーバはHTTPヘッダのみ返す
  5. DELETE: 指定したURIのリソースを削除する
  6. OPTIONS: サーバを調査する Hypertext Transfer Protocol

上記のどれでも問わずに利用出来る様にする場合は、
anyを指定します

利用するHTTPメソッドを決めたら次は、URLパスを決めましょう
パスの次は、そのURLで行う処理をクロージャ内で記述していきます

以下の例は、GETを利用しURLパスを /home として、"hello"を出力する例です

\Route::get('home', function () {

    return 'hello';
});

他のHTTPメソッドの場合も同様です

// POST
\Route::post('home', function () {

    return 'hello';
});

// DELETE
\Route::delete('home', function () {

    return 'hello';
});

Bladeテンプレートを用いる場合は、コントローラーや他のクラスでの利用方法と同じ様に
Viewファサードを利用します

\Route::get('home', function () {

    return \View::make('hello');
});

Viewファサード以外にも、Laravelで用意されているAPIや、
ユーザが作成したファサード等も利用可能です

 アドバイス

作成したルートはartisanコマンドで一覧で確認する事が出来ます
下記のコマンドをコンソールから実行してみましょう

$ php artisan route

詳しくは ルートを一覧で見たい をご覧ください


Author:Yuuki Takezawa