是否可以在路由组中使用具有不同命名空间的控制器?
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');
});
});
希望对您有所帮助!
是否可以在路由组中使用具有不同命名空间的控制器?
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');
});
});
希望对您有所帮助!