Site

Estrutura de Pastas

v4

A 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/

PastaResponsabilidadeEdita?
app/engine/URI, ORM, Auth, Cache, View engineNão
app/http/Handlers web e admin, middlewaresSim
app/modules/Módulos extensíveis (billing, posts, etc.)Sim
config/Configuração do projetoSim
themes/Layouts e componentes visuaisSim

Namespace Composer (PSR-4):

MUCRM\  →  app/

// Exemplo:
// MUCRM\modules\billing\handlers\web_handler
// → app/modules/billing/handlers/web_handler.php

Arquivos de rota

ArquivoUso
routes/web.phpSite público
routes/user.phpÁrea logada do jogador
routes/admin.phpPainel administrativo
routes/api.phpAPI REST (without_csrf)
app/modules/*/routes.phpRotas 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.js

Detalhes em Módulos.


Constantes úteis

MUCRM_ROOTRaiz do projeto
MUCRM_APP_PATHPasta app/
base_path()Atalho para raiz
app_path()Atalho para app/

Próximo: Ciclo de Vida.