Laravel 8:调用 route:list 时将数组转换为字符串

4 php routes laravel laravel-8

我有一个资源控制器,ArticleController我想在 中调用这个控制器web.php,所以我编码:

use App\Http\Controllers\Admin\PanelController;
use App\Http\Controllers\Admin\ArticleController;

Route::namespace('Admin')->prefix('admin')->group(function(){
  Route::get('/admin/panel', [PanelController::class, 'index']);
  Route::resource('articles', [ArticleController::class]);
});
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用命令php artisan route:list来检查路由,但收到此错误消息:

错误异常

数组到字符串的转换

那么为什么会出现这个错误,我该如何解决呢?

lag*_*box 8

Route::resource 期待第二个参数的字符串,而不是数组。

Route::resource('articles', ArticleController::class);
Run Code Online (Sandbox Code Playgroud)

删除对namespace组的调用,您不需要任何命名空间前缀,因为您使用的是完全限定的类名 FQCN 来引用控制器。

Route::prefix('admin')->group(function () {
    Route::get('/admin/panel', [PanelController::class, 'index']);
    Route::resource('articles', ArticleController::class);
});
Run Code Online (Sandbox Code Playgroud)