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.