Estrutura de Pastas
v4A v4 separa o núcleo protegido da camada que você edita. Você trabalha em app/, routes/, config/ e themes/.
⚠️Estrutura antiga (v3) — não use mais
app/Plugins/, bootstrap/config/, resources/views/ eHttp/Controllers foram substituídos pela estrutura abaixo.
Visão geral
website/
├── routes/ # Rotas globais
│ ├── web.php
│ ├── admin.php
│ ├── user.php
│ └── api.php
├── app/
│ ├── engine/ # Núcleo (não editar)
│ ├── http/
│ │ ├── web/handlers/ # Handlers do site
│ │ ├── admin/handlers/ # Handlers do admin
│ │ └── middlewares/ # Aliases auto-descobertos
│ ├── modules/ # Seus módulos / plugins
│ │ └── billing/
│ │ ├── routes.php
│ │ ├── handlers/
│ │ ├── models/
│ │ └── views/
│ └── shared/services/ # Serviços reutilizáveis
├── config/ # config('app.server.name')
├── themes/
│ ├── default/
│ │ ├── _layouts/ # Casca das páginas
│ │ ├── _components/ # Pedaços reutilizáveis
│ │ └── modules/ # Overrides de módulos
│ └── panels/admin/
│ ├── _layouts/
│ └── _components/
├── public/ # Document root (CSS, JS, imagens)
├── bootstrap/helpers.php # Helpers de domínio do projeto
└── storage/
├── logs/
└── framework/cache/engine/ vs app/
| Pasta | Responsabilidade | Edita? |
|---|---|---|
app/engine/ | URI, ORM, Auth, Cache, View engine | Não |
app/http/ | Handlers web e admin, middlewares | Sim |
app/modules/ | Módulos extensíveis (billing, posts, etc.) | Sim |
config/ | Configuração do projeto | Sim |
themes/ | Layouts e componentes visuais | Sim |
Namespace Composer (PSR-4):
MUCRM\ → app/
// Exemplo:
// MUCRM\modules\billing\handlers\web_handler
// → app/modules/billing/handlers/web_handler.phpArquivos de rota
| Arquivo | Uso |
|---|---|
routes/web.php | Site público |
routes/user.php | Área logada do jogador |
routes/admin.php | Painel administrativo |
routes/api.php | API REST (without_csrf) |
app/modules/*/routes.php | Rotas do módulo (auto-descobertas) |
Estrutura de um módulo
app/modules/billing/
├── routes.php
├── handlers/
│ ├── web_handler.php
│ └── admin/
│ └── settings_handler.php
├── models/
│ └── billing_plan.php
└── views/
├── index.mucrm.php
└── assets/
├── css/billing.css
└── js/billing.jsDetalhes em Módulos.
Constantes úteis
| MUCRM_ROOT | Raiz do projeto |
| MUCRM_APP_PATH | Pasta app/ |
| base_path() | Atalho para raiz |
| app_path() | Atalho para app/ |
Próximo: Ciclo de Vida.