Laravel 中间件:中间件参数
在 Laravel 中,中间件可以接收两个参数:一个是调用它的 HTTP 请求,另一个是进一步传递给中间件栈的闭包(很像一个“下一个”中间件)。如果你想要给中间件传递参数,你可以在 app/Http/Kernel.php
文件中的 $routeMiddleware
数组中定义它们。
下面是一个例子,如何定义一个带参数的中间件并使用它:
首先,在 app/Http/Kernel.php
文件中的 $routeMiddleware
数组中定义你的中间件和参数:
protected $routeMiddleware = [
// ...
'middleware.name' => \App\Http\Middleware\YourMiddleware::class,
];
然后,在你的路由中使用这个中间件,并传递参数:
Route::get('example', function () {
// Your route logic...
})->middleware('middleware.name:firstArgument,secondArgument');
接下来,在你的中间件类中,你可以接收这些参数:
namespace App\Http\Middleware;
use Closure;
class YourMiddleware
{
public function handle($request, Closure $next, $firstArgument, $secondArgument)
{
// Middleware logic...
return $next($request);
}
}
这样,你就可以在 Laravel 中使用带参数的中间件了。
评论已关闭