将变量传递到中间件 Laravel

Passing variables into middleware Laravel

我正在使用通配符子域并希望将 $element 变量传递到中间件 whitelabel 中,以便我可以检查子域并做出相应的响应。

Route::group(['domain' => '{element}.website.co', 'middleware' => 'whitelabel'], function() {

    Route::get('/', 'AuthController@getLogin');
    Route::post('/', 'AuthController@postLogin');

});

如何使用中间件中元素的值?

首先,(除非您已经完成)您需要将以下内容添加到您的:

Route::pattern('element', '[a-z0-9.]+');

您可以将其添加到 AppServiceProviderboot() 方法中。

然后在你的中间件中访问它,你会得到类似的东西:

public function handle($request, Closure $next)
{
    $domain = $request->route('element');

    return $next($request);
}

希望对您有所帮助!