今回は、現在関わっている案件で使われている暗黙的なコントローラーによるコントローラールーティングについて書き留めておきます!
まず、前回、こちら(
『ルーティングの基礎~Laravelのルーティング~』)でコントローラーへのルーティングがあると書きましたが、その方法の一つとして、暗黙的なコントローラーによるルーティングがあります。
●ルーティングの定義の方法:「Route::controllerメソッド」を使用する。
定義の方法は下記の通りとなります。
Route::controller('パス名', '呼び出すコントローラーのクラス名');
例:
Route::controller('/system/division', 'DivisionController');
なお、第一引数のパス名は、コントローラーが処理するベースのURLとなります。
●対応するコントローラーの側面:「暗黙的なコントローラー」を使用する。
記述方法は下記の通りとなります。
class DivisionController extends BaseController {
// getで
「/system/division」にアクセスした場合
public function getIndex()
{
echo 'インデックス';
}
// postで
「/system/division/name」にアクセスした場合
public function postName()
{
echo '部署名';
}
}
それぞれのコントローラーアクションの命名はHTTPメソッド名(GET, POST, PUT, PATCH, DELETE, any等)をプレフィックス(接頭辞)に使用します。
つまり、
「Route::controllerメソッド」と「暗黙的なコントローラー」で、アクセスするHTTPメソッドに応じて、1つのルーティングの定義で複数のルーティングを可能にしているのが暗黙的なコントローラーによるコントローラールーティングです。
以上です!
【参考サイト】
『Laravel 4.2.0 コントローラー』
『Laravel 4.2.0 Controllers』
『Laravel 4.2.0 ルーティング』
『Laravel 4.2.0 Routing』