自从我上次在laravel中编码以来已经很长一段时间了,当我尝试在API路由中注册一个简单路由时:
Route::post('/register', 'AuthController@register');
我得到了";目标类[AuthController]不存在"错误我通过注册实现了这一点
use AppHttpControllersAuthController;
Route::post('/register', [AuthController::class, 'register']);
我很困惑,看了一下文档,没有发现任何对第一个语法的引用。它是消失了,我不知道,还是我做错了什么?
该更改是在Laravel 8中引入的。以前,路线在RouteServiceProvider
:中使用名称空间
// ...
protected $namespace = 'AppHttpControllers';
该值自v8+起设置为null
。这就是为什么您会有错误响应。所以你有两个选择:
- A(在
RouteServiceProvider
中添加前缀 - B( 使用FQCN并在解决时导入类(推荐使用,有助于IDE和静态分析AFAIK(