首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel目标类[App\Http\Controllers\App\Http\Controllers\ApiController]不存在

Laravel目标类[App\Http\Controllers\App\Http\Controllers\ApiController]不存在
EN

Stack Overflow用户
提问于 2020-01-14 22:13:48
回答 5查看 4.9K关注 0票数 5

出于某种原因,Laravel认为它应该在路径‘App\Http\Controllers\App\Http\ ApiController’中查找类Http,所以...它是双倍的,但我不知道为什么。

这是一个全新的Laravel 6项目,我使用make:controller artisan命令创建了ApiController,并添加了一个函数,如下所示:

代码语言:javascript
运行
复制
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ApiController extends Controller
{
    public function base() {
        return 'This is a test function';
    }
}

然后,我向api路由添加了一个路由,如下所示:

代码语言:javascript
运行
复制
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');
});

如你所见,我甚至“导入”了控制器,但它就是找不到它。仅此而已,没有其他文件或对项目的更改。我还尝试过清除路由缓存和dump-autoload,但这并没有改变任何事情。

EN

Stack Overflow用户

发布于 2021-03-01 17:31:24

在我的例子中,问题是,在

,在使用路由时

命名空间

代码语言:javascript
运行
复制
protected $namespace = 'App\Http\Controllers';

在Laravel 8中,命名空间是

注释掉

,我从链中删除了命名空间,因为我的web路由没有完全迁移到Laravel 8语法,而我需要这个命名空间。

代码语言:javascript
运行
复制
Route::prefix('api')
      ->middleware('api')   
      -̶>̶n̶a̶m̶e̶s̶p̶a̶c̶e̶(̶$̶t̶h̶i̶s̶-̶>̶n̶a̶m̶e̶s̶p̶a̶c̶e̶)̶
      ->group(base_path('routes/admin-api.php'));
票数 4
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59735544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档