Предположим есть раздел section1 в нем контроллеры и у каждой у ролей координально разлечаются методы, решил организовать c помощью middleware вызов нужного контроллера из папки роли,
берем приоритетную роль app()->call() контроллер, если нет в дефолтный.
Http
- Controllers
- - Section1
- - - Admin
- - - - IndexController
- - - - MessageController
- - - IndexController
- - - MessageController
Маршруты примерные
Route::prefix('section')
->namespace('Section')
->as('section.')->group(function () {
Route::get('/', 'IndexController@index')->name('index');
Route::prefix('messages')->as('messages.')->group(function () {
Route::post('/', 'MessageController@index')->name('index');
Route::put('/', 'MessageController@store')->name('store');
Route::prefix('{message}')->group(function () {
Route::delete('/', 'MessageController@destroy')->name('destroy');
});
});
});
На данный момент в middleware просто dd
public function handle($request, Closure $next)
{
dd($request->route());
При запросе с /section в /section/message/
axios({
method: 'post',
url: '/section/messages',
data: {}
});
Я получаю роут section.index а не section.messages.index