有没有办法将复杂参数(例如对象数组)传递给laravel中的中间件?我知道我可以通过某种DSL传递字符串,但我需要将一些更复杂的数据传递给其中一个中间件。这是可以实现的吗?如果是这样,怎么样?将复杂参数传递给路由中间件
有例子就是我想达到
class Middleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, array $modifiers = null)
{
foreach($modifiers as $name => $closure) {
$request->$name = $closure($request->name)
}
return $next($request);
}
}
而且我想通过
[
'param' => function($param) { return $param * 2; }
]
至于$modifiers
参数中间件,以及阵列将是不同的路线通过全球化,所以通过不同情境是不行的。
你能提供一个你正试图实现的例子吗? – Wistar
这个变量从哪里来?请分享一些代码和工作流程。 –
@Wistar我已经添加了示例代码 –