Laravel自动运行每个页面的中间件,而不在路由中添加Route :: group

时间:2017-03-18 17:16:57

标签: laravel

Route::group(['middleware' => ['web']], function(){

}

我有一个中间件需要在每次加载页面时获得用户的意见。

无论如何让这个中间件在路由中没有添加路由组的情况下运行吗?

2 个答案:

答案 0 :(得分:1)

App\Http\Kernel.php文件中,将$middleware数组中的中间件添加为:

/**
 * The application's global HTTP middleware stack.
 *
 * These middleware are run during every request to your application.
 *
 * @var array
 */
protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \App\Http\Middleware\AppAfterMiddleware::class,
];

Docs

答案 1 :(得分:1)

您可以在app / Http / Kernel.php中添加中间件

如果将其添加到属性protected $middleware,它将针对每个请求运行。

而是添加到proterty protected $middlewareGroups,它只会针对web或api请求运行。

Kernel.php中的代码被评论并且非常自我解释。