🐡
Laravel ルーティングの記述整理
はじめに
Laravelのルーティングについて、Laravelの初級本で見るような基本形は理解できましたが、
開発の際にその基本形で書かれているようなコードをあまり見ません。(当たり前ですが)
よって、基本形から派生した書き方の整理をここで行っていきます。
基本の形
Route::get('/', 'Page\\TestController@index');
/にアクセスした際に、TestControllerのindexアクションが動作する
ルート定義メソッド/ビュールート
詳細は割愛。
Route::get --- // ページ遷移や情報の取得
Route::post --- // データの投稿等
Route::put --- // データがなければ新規投稿、あれば置換
Route::patch --- // 部分変更等
Route::delete --- // データの削除等
Route::view --- // 表示するビューを指定する 第3引数にビューに渡す値を指定できる
上記が学習の際によく見る記述です。
名前付きルート
Route::get('/', 'TestController@index')->name('test');
上記の記述により、nameで指定した名前を使用することで、そのインスタンス(ここでいう('/', 'TestController@index')の部分)が返されるようになる。
使用例
コントローラーでのリダイレクトなどでよく使用される。記述量が少なくスッキリする。
// コントローラーにて
return redirect()->route('test');
ミドルウェアの適用
アクションの前後に、特定の処理を行わせることができる。
指定のコントローラーを動作させる前に、認証情報の確認など行う処理を挟むことができる。
※ミドルウェアについては別途まとめていきたいと思います。
名前空間/グループルート
特定の名前空間に配置されているコントローラーのアクションを一括で設定する場合に使用。
「prefix」で名前空間指定して、「group」の中にルートを記述する。
使用例
Route::middleware(['auth'])->group(function () {
Route::prefix('text')->group(function () {
Route::get('/', 'TestViewController@top');
Route::get('/show', 'TestViewController@show');
});
});
上記で、ミドルウェアと名前空間を使用。
さいごに
その他まだ色々な記述がありますが、実装で使うことになってからまとめていきたいと思います。
Discussion