Closed krissss closed 1 year ago
Route::get('/foo/{id}', function ($request, $id) {
return 'bar';
});
并且当 $request 不指定类型时,第一个参数变成了 {id}
Route::get('/foo/{id}', function ($request, $id) { return 'bar'; });
并且当 $request 不指定类型时,第一个参数变成了 {id}
这个好像没有完美的解决方案,判断第一个参数名字是否是request好像也不妥
我也看了确实如此,但是为了兼容旧版本的情况,可能需要固定第一个参数为 $request
而且即使判断 Request 注入,貌似也不能用 === 判断 request 是否是 config('app.request_class'),否则会造成第三方的扩展就必须使用用户的 config('app.request_class') 作为参数类型(这貌似互相依赖了,死结了)
而且即使判断 Request 注入,貌似也不能用 === 判断 request 是否是 config('app.request_class'),否则会造成第三方的扩展就必须使用用户的 config('app.request_class') 作为参数类型(这貌似互相依赖了,死结了)
这个用is_subclass_of 解决了
sorry,没有看到提交
那第一个参数的问题,可能只能通过一个配置的形式来解决第一个参数是否要固定为 $request 了
升级到 1.4.6 之后当 $request 类型非 config('app.request_class') 时(且必须是等于),会报错,Controller action 中同样存在问题