0x706f6b6f
@0x706f6b6f

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Laravelでmiddlewareを付与する場所はどこが一番良いか。

Q&A

Closed

laravelにおいてmiddlewareをどこで付与すればいいのか分からないので教えていただきたいです。
・Controller
・web.phpのRoute
・view内

まだ経験が浅くこの三つでmiddlewareを定義しているのをみた事があるのですが何が一番いいのかという疑問を持ち、質問させていただきました。

Controllerのconstruct

sample.php
<?php
class XXController extends Controller{

    public function __construct(){
        $this->middleware('some middleware');
    }

}

web.phpのRoute

web.php
<?php

Route::group(['middleware' => ['some middleware']],xxxx);

view内

resource/view.php
<?php

if(Auth::check());

この三つでは何が違うのか、何が良いのか。
また、こう書いた方がいいよ!などありましたら是非お願いします。

0

2Answer

複数のページで共通に使うミドルウェアの場合は web.phpで Route::group でミドルウェアを指定。
単ページでしか使わないミドルウェアであれば Controller の中で良いように思いますが、単ページでしか使わないミドルウェアは、あまり無いかな。

View内ではヘルパ関数を使って、ミドルウェアにアクセスすることはあるかもしれませんが、付与することは無いはず。

0Like

Comments

  1. @0x706f6b6f

    Questioner

    なるほど。ありがとうございます!
    すみません。Viewでは付与ではないですね。

RouteServiceProvider で設定することもできますね。

APIの大半で使われるけど、一部除外するものも出てくるので、 routes/api.php で
複数APIを指定する形で指定することが多いです。

0Like

Comments

  1. @0x706f6b6f

    Questioner

    ありがとうございます!
    APIでも使われるんですね。

Your answer might help someone💌