Como a MuCRM Funciona
v4Toda página do site segue o mesmo caminho: alguém acessa uma URL, o sistema encontra a rota certa, executa a lógica e monta o HTML. Entender esse fluxo facilita muito o desenvolvimento.
O caminho de uma requisição
Visitante acessa uma URL
Ex: /shop ou /ranking/top-level
Roteador encontra a rota
Arquivos em routes/ e app/modules/*/routes.php
Middlewares verificam permissões
Login, admin, CSRF, API — conforme configurado na rota
Handler executa a lógica
Busca dados no banco (models), valida formulários, decide o que mostrar
View + Layout geram o HTML
A tela do módulo ou tema é envolvida pelo layout (menu, rodapé, CSS)
As três camadas que você edita
| Camada | O que faz | Onde fica |
|---|---|---|
| Handler | Lógica: buscar dados, validar, redirecionar | app/http/.../handlers/ app/modules/.../handlers/ |
| Model | Acesso ao banco de dados | app/modules/.../models/ |
| View | HTML da página | themes/.../ ou app/modules/.../views/ |
Exemplo prático
// 1. Rota (app/modules/shop/routes.php)
uri::get('/shop', [web_handler::class, 'index']);
// 2. Handler busca dados e escolhe a view
public function index() {
$items = shop_item::where('active', 1)->get();
return $this->view('Shop.shopping', compact('items'))->title('Loja');
}
// 3. View mostra os dados
<?php foreach ($items as $item): ?>
<h3><?= e($item->name) ?></h3>
<?php endforeach; ?>O que você não precisa mexer
A pasta app/engine/ é o núcleo do framework — roteamento, ORM, sessão, cache. Funciona automaticamente. Você trabalha nas pastas de aplicação:
routes/— URLs do siteapp/modules/— funcionalidades (loja, notícias, rankings…)themes/— aparência visualconfig/— configurações
Detalhes técnicos: Ciclo de Vida.