Referência v3
Voltar à plataforma

Módulos

Onde sua aplicação vive. Cada pasta em src/Modules/ é um módulo independente.

O conceito Zero Config

No Vupi.us, uma pasta é um módulo. Não existe registro manual. O ModuleLoader varre src/Modules/ automaticamente e carrega tudo que encontrar.

Regra simples

Crie a pasta → crie o ServiceProvider → crie o Routes/web.php. O sistema faz o resto.

Estrutura de um módulo

src/Modules/Usuario/ ├── Controllers/ # Endpoints HTTP — recebe Request, retorna Response │ └── UsuarioController.php ├── Services/ # Regras de negócio — o coração do módulo │ ├── UsuarioService.php │ └── UsuarioServiceInterface.php ├── Repositories/ # Acesso ao banco de dados │ ├── UsuarioRepository.php │ ├── UsuarioRepositoryInterface.php │ └── UsuarioAbstractRepository.php ├── Entities/ # Modelos de domínio (sem dependência de framework) │ └── Usuario.php ├── Exceptions/ # Exceções específicas do módulo │ ├── InvalidEmailException.php │ └── InvalidPasswordException.php ├── Database/ │ ├── Migrations/ # Criação e alteração de tabelas │ ├── Seeders/ # Dados iniciais │ └── connection.php # Declara qual banco usar (core ou modules) └── Routes/ └── web.php # ⚠ Obrigatório para ter rotas HTTP