PHP
Composer
laravel
middleware

Laravel に Middleware を追加する

More than 1 year has passed since last update.

Laravel に Middleware を追加する

1. app/Http/Middleware に追加する。

$ php artisan make:middleware Hogehoge

2. app/Http/Middleware/Hogehoge.php の中身を書く。

処理は public function handle() 内、

return $next($request);

の前に書く。

Controller に値を渡す時などは Request にマージすることで実装する。

app/Http/Middleware/Hogehoge.php
class CustomerAuth
{
    public function handle($request, Closure $next)
    {
        $hoge = 'hoge';

        // Request に混ぜて Controller へ送る
        $request->merge([
            'hoge' => $hoge,
        ]);

       return $next($request);
    }
}

Controller 側では、Request $request['hoge'] に格納されています。

3. app/Http/Kernel.php に追記する。

app/Http/Kernel.php
    protected $routeMiddleware = [
        ...,
        'hogehoge' => \App\Http\Middleware\Hogehoge::class,
    ];

4. Controller に適用する

例えばHogeController ならその __construct に書く。

app/Http/Controller/HogeController.php
    class adminController extends Controller {
        public function __construct()
        {
            $this->middleware('hogehoge');
        }

        public function view(){
            return view('view');
        }
    }

以上です。