🐡

Laravel ルーティングの記述整理

2022/02/21に公開

はじめに

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