MuCRM está de cara nova
v4Reorganizamos estruturas, simplificamos caminhos e criamos um ecossistema mais rápido e fácil de entender — para quem desenvolve todos os dias.
A MuCRM v4 é uma reconstrução pensada para clareza: handlers enxutos, módulos isolados, telas organizadas por tema e uma API integrada ao core. Menos fricção. Mais fluxo. Código que você realmente entende.
- Estrutura nova:
app/modules/,themes/,config/ - Views com PHP simples —
<?= e($var) ?>, sem diretivas especiais - Helpers diretos:
uri::,to(),logged(),res() - Ecossistema modular que evolui sem quebrar o que você já construiu
Por que mudamos
O PHP evoluiu — e a MuCRM precisava evoluir junto. Abandonamos camadas que adicionavam complexidade sem retorno e reorganizamos o framework em torno de três princípios: clareza, velocidade e autonomia.
O resultado é um ambiente onde você abre um arquivo e já sabe o que fazer. Onde o framework acelera em vez de atrapalhar. Onde cada linha de código é sua — escrita em PHP, da forma que você já conhece.
O que mudou na v4
| Área | v4 |
|---|---|
| Views | PHP SSR — <?= e($var) ?>, sem diretivas :if / :csrf |
| Estrutura | app/modules/, themes/, config/ |
| Controllers | Handlers — MUCRM\http\handler |
| Rotas | uri::get / post / put / patch / delete + to() |
| Auth | logged(), account(), Bearer API |
| ORM | has_one, has_many, belongs_to (snake_case) |
| Forms | <?= csrf() ?>, <?= method('PUT') ?> |
Como uma página é montada
URL → rota → middleware → handler → view PHP → layout → HTMLExemplo mínimo de um módulo:
// app/modules/billing/routes.php
uri::get('/billing', [web_handler::class, 'index'])->name('billing.index');
// app/modules/billing/handlers/web_handler.php
public function index(request $req, responder $res)
{
$plans = billing_plan::query()->where('active', 1)->get();
return $this->view('Billing.index', compact('plans'))
->title('Planos');
}Onde colocar cada coisa
| Você quer… | Pasta |
|---|---|
| Página pública | app/http/web/handlers/ ou módulo |
| Painel admin | app/http/admin/handlers/ |
| Área do jogador | routes/user.php + middleware user |
| Plugin / módulo | app/modules/{nome}/ |
| Template | themes/{tema}/ ou app/modules/{nome}/views/ |
| Config | config/*.php → config('chave') |
API em 30 segundos
use MUCRM\engine\support\facades\uri;
uri::group(['prefix' => 'api', 'without_csrf' => true], function () {
uri::post('/login', [auth_handler::class, 'login']);
uri::group(['middleware' => ['auth:api']], function () {
uri::get('/me', [profile_handler::class, 'me']);
uri::post('/logout', [auth_handler::class, 'logout']);
});
});Detalhes em API eAutenticação.