You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MVC入门框架访问注册路由出现TypeError及ArgumentCountError报错

第一个报错解决方法

错误原因是类名拼写错误:你导入类时把Request错拼成Requset,方法参数的类型声明也用了拼写错误的类名。因为你当前控制器的命名空间是app\controllers,PHP找不到拼写错误的类时,会默认找当前命名空间下的Requset类,和路由实际传入的app\core\Request类类型不匹配,所以报错。
修复操作:

  • 修正AuthController顶部的导入语句:将use app\core\Requset;改为use app\core\Request;
  • 修正register方法的参数类型声明:将public function register(Requset $request)改为public function register(Request $request)
第二个报错解决方法

错误原因是你定义的render方法要求必须传入2个参数,分别是视图名$view和传给视图的参数$params,但你调用render的时候只传了视图名一个参数,参数数量不匹配导致报错。
有两种修复方案,选任意一种即可:

  • 方案一(更推荐,适配性更强):给render方法的$params参数设置默认空数组,没有参数要传递的时候可以不用传第二个参数:
public function render($view, $params = [])
{
    return Application::$app->router->renderView($view, $params);
}
  • 方案二:调用render方法时,哪怕没有参数要传给视图,也补传一个空数组作为第二个参数:
// login方法内调用修改为
return $this->render('login', []);
// register方法内调用修改为
return $this->render('register', []);

内容的提问来源于stack exchange,提问作者Eymen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:48:02