当前位置: 首页 > 知识库问答 >
问题:

Laravel 8:目标类不存在[重复]

暴奕
2023-03-14

我正在与Laravel 8合作开发我的项目。我制作了一个名为BackendController控制器,并添加了这个index()方法来调用刀片:

public function index()
{
    return view('website.backend.dashboard.index');
}

web.php中,我添加了以下路由:

Route::get('/dashboard', 'BackendController@index');

但是当我转到/dashboard时,它说:

lluminate\Contracts\Container\BindingResolutionException目标类[BackendController]不存在。

我不知道它为什么打印这个,因为控制器已经存在了!所以如果你知道怎么解决,请帮我...

提前感谢。

共有3个答案

劳豪
2023-03-14

在Laravel的早期版本中,RouteServiceProvider包含一个$namespace属性。此属性的值将自动作为前缀添加到控制器路由定义和对操作助手/URL::action方法的调用中。在拉威尔8。x、 默认情况下,此属性为null。这意味着Laravel不会自动进行名称空间前缀。发布#laravel-8

那么,试试这个:

use App\Http\Controllers\BackendController;
Route::get('/dashboard',  [BackendController::class, 'show'])->name('backend.index');

公良运锋
2023-03-14

总之,你应该这样定义你的路线<代码>路由::获取('/dashboard',[\App\Http\Controllers\BackendController::class,'index'])。

更具体地说;在Laravel的以前版本中,RouteServiceProvider包含一个$命名空间属性。此属性的值将自动前缀到控制器路由定义和对actionhelper/URL::action方法的调用。在Laravel 8. x中,此属性默认为null。这意味着Laravel不会自动完成命名空间前缀。因此,在新的Laravel 8. x应用程序中,控制器路由定义应该使用标准的PHP可调用语法来定义:

use App\Http\Controllers\UserController;

Route::get('/users', [UserController::class, 'index']);

[复制自Laravel文档。请参阅中的“路由命名空间更新”部分https://laravel.com/docs/8.x/releases]

彭鸿文
2023-03-14

Laravel 8已经更新了它的路由。
它被记录下来,寻找路由命名空间更新部分

在新的Laravel 8. x应用程序中,控制器路由定义应该使用标准的PHP可调用语法来定义;

use App\Http\Controllers\UserController;

Route::get('/users', [UserController::class, 'index']);

这里有新的文件;https://laravel.com/docs/8.x/routing#basic-路由

 类似资料:
  • 我最近开始研究Laravel,并安装了Laravel Framework 8.5。0 下面是我的控制器"UserController.php" 这是我的网站。路由中的php 当我尝试访问http://127.0.0.1:8000/users,它只是用下面的错误击中我 Illumb\Contracts\Container\BindingResolutionException 目标类[UserCont

  • 我的Laravel应用程序在。请理解,这是我第一次申请Laravel。 Illumb\Contracts\Container\BindingResolutionException目标类 [UserController]不存在。 当我尝试以下代码在web.php. 用户控制器文件: 然而,这行得通。 迁移已经运行,表已在数据库中成功创建。 环境: 完整的错误报告在Flare上共享

  • 使用php artisan route:list后,我在Laravel 8中遇到此错误: Illumb\Contracts\Container\BindingResolutionException目标类[Api\UserController]不存在。 我在App\Http\Controllers\Api中有一个控制器: 路线/api.php: 我是新来的

  • 我得到这个错误: Illumb\Contracts\Container\BindingResolutionException目标类[App\Http\Controllers\UserManagementController]不存在。 我想问题出在我的web.php路径上:

  • 我得到这个错误后,通常的安装,为我工作了多年。。。我真的不知道现在发生了什么变化。。有人能帮忙吗?

  • 当使用laravel 8创建一个新项目时,我得到了这个错误。 Illumb\Contracts\Container\BindingResolutionException目标类[SayhelloController]不存在。http://127.0.0.1:8000/users/john 在laravel文档中,Routes控制器类必须这样定义 目标类 所以我确实做到了。