是否可以在路由组中使用具有不同命名空间的控制器?

Is it possible use controller with different namespace in route group ?

是否可以在路由组中使用具有不同命名空间的控制器?

Route::group(['prefix' => 'dashboard', 'namespace' => 'admin'], function () {
    Route::get('/', ['namespace'=>'Controllers','uses'=>'SiteController@dashobard']);
    Route::get('posts', 'PostsController@index');
});

正如@TimLewis 在评论中提到的那样,这是可能的。

(假设 SiteController 的完整命名空间是 App\Http\Controllers)以下应该有效:

Route::group(['prefix' => 'dashboard', 'namespace' => 'admin'], function () {
    Route::get('/', '\App\Http\Controllers\SiteController@dashboard');
    Route::get('posts', 'PostsController@index');
});

但是,将路线分开会更有意义:

Route::group(['prefix' => 'dashboard'], function () {

    Route::get('/', 'SiteController@dashboard');

    Route::group(['namespace' => 'admin'], function () {
        Route::get('posts', 'PostsController@index');
    });
});

希望对您有所帮助!