貌似找到个bug,如果在中间件对request 用param(),input读取路由参数,参数就飞了

浏览:2346 发布日期:2020/04/04 分类:ThinkPHP6专区 关键字: tp6 bug 中间件 路由参数 控制器 参数丢失
貌似应该是个bug石锤了
10秒钟复现:
步骤1 键个新的tp6
在app\controller\index 随便建个方法比如
  public function subject($subject_code = null){
        dump(request()->param());
    }
在路由route/app.php
加上传参
Route::get('subject/[:subject_code]', 'index/subject');
创建个中间件
app/middleware/CheckUserParam.php
内容为namespace app\middleware;
class TrackUser
{
    public function handle($request, \Closure $next)
    {

        $request->param();

        return $next($request);
    }
}
此时控制器就读不到任何路由传来的参数了,而我做的只是在中间键查看下传来的参数值
注释掉$request->param();又恢复了
如果在使用了路由传参的情况下,根据用户传来的参数做跳转就不行了
麻烦看下辛苦啦, 要是我做的什么不对的地方请谅解
最佳答案
评论( 相关
后面还有条评论,点击查看>>