Creo que para mantener los controladores para Admin y Front en carpetas separadas, el espacio de nombres funcionará bien.
Por favor, mire la estructura de directorios de Laravel a continuación, que funciona bien para mí.
app
--Http
----Controllers
------Admin
--------DashboardController.php
------Front
--------HomeController.php
Las rutas en el archivo "routes / web.php" serían las siguientes
/* All the Front-end controllers routes will work under Front namespace */
Route::group(['namespace' => 'Front'], function () {
Route::get('/home', 'HomeController@index');
});
Y para la sección de administración, se verá como
/* All the admin routes will go under Admin namespace */
/* All the admin routes will required authentication,
so an middleware auth also applied in admin namespace */
Route::group(['namespace' => 'Admin'], function () {
Route::group(['middleware' => ['auth']], function() {
Route::get('/', ['as' => 'home', 'uses' => 'DashboardController@index']);
});
});
¡¡Espero que esto ayude!!