升级Laravel8.45新版后,报异常Illuminate\Contracts\Container\BindingResolutionException Target class does not exist.
原因如下:
Laravel旧版本中,RouteServiceProvider类中包含$namespace属性,值为AppHttpControllers,此属性可自动为路由添加AppHttpControllers前缀。
新版中,该属性值默认为null,路由中只能使用标准PHP调用语法(需填写controller全路径),新版这样处理的目的是可以在各类IDE中提供更好的跳转支持,如果想恢复旧版自动前缀,解除异常,在RouteServiceProvider类中取消$namespace注释即可:
protected $namespace = 'App\\Http\\Controllers';
最新回复