在我的laravel 8应用程序中出现以下错误:
Illuminate\Contracts\Container\BindingResolutionException。目标类[MarketsouhaibController]不存在。Laravel 8
显示以下stracktrace:
try {
$reflector = new ReflectionClass($concrete);
} catch (ReflectionException $e) {
throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
}
在教程视频,它的工作,但与我的laravel 8不工作。
3条答案
按热度按时间sycxhyv71#
由于缺乏细节,我猜您正在使用原始的控制器路由语法
Route::get('/', 'MarketsouhaibController@index')
,我们都已经使用了很长时间的语法,这是一个常见的问题。这个语法一直工作到Laravel 7。8、他们改变了Laravel 8引入了一个新的语法,这是新的标准。你现在有两个选择。您可以使用 String Syntax 或 PHP callable syntax,如下所示。
但如果您仍然想使用原始的自动前缀控制器路由,只需按照以下步骤操作。
1.导航到您的
RouteServiceProvider
1.添加
protected $namespace = 'App\Http\Controllers';
个人建议,在开始之前请阅读文档。它们的存在是有原因的。我发布的解决方案也可以在Documentation provided by Laravel和他们发布的Upgrade Guide中使用。
n9vozmp42#
你可以仔细看看控制器和路由器中的命名空间,必须是相同的,这为我解决了
pobjuy323#
运行这个: