【发布时间】:2016-01-22 00:09:15
【问题描述】:
我希望将路由参数作为中间件参数传递,就像这样
Route::get('foo/{id}', ['middleware' => 'bar:{id}', function(){
});
如何做到这一点?
【问题讨论】:
标签: php laravel laravel-5 laravel-5.1 laravel-routing
我希望将路由参数作为中间件参数传递,就像这样
Route::get('foo/{id}', ['middleware' => 'bar:{id}', function(){
});
如何做到这一点?
【问题讨论】:
标签: php laravel laravel-5 laravel-5.1 laravel-routing
可以从请求变量中获取:
Route::get('foo/{id}', ['middleware' => 'bar', function(){
});
public function handle($request, Closure $next) {
$id = $request->id;
}
bar:id
用于将字符串id 传递给中间件。
【讨论】:
$request 变量获取它。
如果您在控制器的构造函数中设置中间件,则可以传递动态中间件变量。
public function __construct()
{
$this->middleware('bar:'.request()->id);
}
【讨论】: