Я создавал модульную структуру примерно так:
Создал папку modules, в ней все папки назывались с большой буквы, для использования psr-4. Например : modules/Api/Controllers. Если не использовать автозагрузку, каждый раз добавляя новый файл прийдется запускать composer dump.
Для создания неймспейсов во вьюхах и подключения файлов типа filters.php/routes.php из каждого модуля написал свой сервис провайдер.
Добавляем неймспейс для вида:
\View::addNamespace($module['name'],$module['path'].'/views');
Так неймспейс используется:
@include('Backend::layouts.menu')
Соответственно класс из другого модуля подключается так:
Backend\Models\Source::find($id);