由于某种原因,可能是我的问题,Laravel认为它应该在路径 'App\Http\Controllers\App\Http\Controllers' 中查找类ApiController,因此... 它会重复寻找,但我不知道为什么。
这是一个崭新的Laravel 6项目,我使用make:controller artisan命令创建了ApiController,并添加了一个函数,如下所示:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ApiController extends Controller
{
public function base() {
return 'This is a test function';
}
}
接下来我向API路由添加了一条路由,代码如下:
use App\Http\Controllers\ApiController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => '/v1', 'as' => 'api'], function () {
Route::get('/base', ['uses' => ApiController::class . '@base'])->name('base');
});
你可以看到,我甚至“导入”了控制器,但它就是找不到它。 就是这样,没有其他文件或项目更改。也尝试清除路由缓存和转储自动加载,但这并没有改变任何东西。
app/Http/Controllers/ApiController.php
的文件?或者也许是APIController.php
? - ceejayoz'uses' => ....
添加默认名称空间。你可以使用[ApiController::class , 'base']
代替。 - Clément Baconnier