Route::get('/test', 'TestController@index');
地址栏输入127.0.0.1/test,会出现如下报错信息
在之前laravel的版本中,这样写是没有问题的,但是在laravel8就不行了,laravel8去掉了默认路由组的命名空间,有两种解决的办法
1、修改RouteServiceProvider.php文件
protected $namespace = "App\Http\Controllers";
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
Route::prefix('api')
->middleware('api')
->group(base_path('routes/api.php'));
});
}
修改之后就可以和原来一样写路由规则了。
2、按照官方的文档
routes/web.php
use App\Http\Controllers\UserController;
Route::get('/user', [UserController::class, 'index']);
这种写法是官方推荐的,但是路由文件会引入许多的类,看上去没有之前简洁了。既然之前的写法简单,为什么在laravel8版本中反而复杂了?欢迎大家在评论区进行讨论。
我采用的是第一种方法,有简单的用复杂的,我只是一名ctrlcv转载请注明出处:
未经允许不得转载:lxfamn » Laravel8的路由问题 target class not exits