Laravel 5 register middleware from in package service provider Laravel 5 register middleware from in package service provider php php

Laravel 5 register middleware from in package service provider


Since Laravel 5.4 (tested up to 5.8) you would call the following line from a service provider.

$this->app['router']->aliasMiddleware('my-package-middleware', \My\Package\Middleware::class);

Or you can use the app() helper as below.

app('router')->aliasMiddleware('my-package-middleware', \My\Package\Middleware::class);


It's about Laravel 5.6

/*In your package service provider*/public function boot(){    /** @var Router $router */    $router = $this->app['router'];    $router->pushMiddlewareToGroup('web', MyPackage\Middleware\WebOne::class);}


In your package service provider you can access the router instance like this:

$this->app['router']

Next you can register middleware like this:

$this->app['router']->middleware('middlewareName', 'your\namespace\MiddlewareClass');

you place this code in the register method of your service provider.