Laravel 8中的路由组命名空间

Laravel 8中的路由组命名空间,laravel,frameworks,backend,laravel-routing,laravel-8,Laravel,Frameworks,Backend,Laravel Routing,Laravel 8,我试图在laravel中定义名称空间 老佛尔 Route::group('namespace' => 'RoleA'], function() { Route::get('/', 'HomeController@index']); // call RoleA/HomeController }); 拉维尔8 use App\Http\Controllers\RoleA\HomeController; use App\Http\Controllers\RoleB\HomeCo

我试图在laravel中定义名称空间

老佛尔

Route::group('namespace' => 'RoleA'], function() {
    Route::get('/', 'HomeController@index']);
    // call RoleA/HomeController
});
拉维尔8

use App\Http\Controllers\RoleA\HomeController;
use App\Http\Controllers\RoleB\HomeController;
// return error => HomeController already in use

Route::group('namespace' => 'RoleA'], function() {
    Route::get('/', [HomeController::class, 'index']);
    // call RoleA/HomeController
});

Route::group('namespace' => 'RoleB'], function() {
    Route::get('/', [HomeController::class, 'index']);
    // still call RoleA/HomeController
});
在Laravel8中是否有其他方法或正确的方法使用名称空间

编辑,很抱歉这个模棱两可的问题

我的意思是像旧版本一样,在定义名称空间时 类似于此,或者参见上面的旧版本

Route::group('namespace' => 'RoleB'], function() {
    Route::get('/', [RoleB/HomeController::class, 'index']);
    // will call RoleB/HomeController
});

有没有一种方法可以实现类似于上面代码的功能?

对于返回错误,请按如下方式导入控制器(您不能导入相同的命名类。因此,您应该使用别名)

然后,您可以按以下方式创建管线组:

您可以按如下方式使用名称空间

Route::group(['namespace' => 'HomeControllerA'], function()
{
    Route::get('/RoleA', [HomeController::class, 'index']);
}

名称空间如何,在Laravel8中有没有使用名称空间的方法,或者现在不需要它?请参阅我的编辑,谢谢
Route::prefix('RoleA')->group(function () {
    Route::get('/', function () {
        // Matches The "/RoleA" URL
    });
});
Route::group(['namespace' => 'HomeControllerA'], function()
{
    Route::get('/RoleA', [HomeController::class, 'index']);
}