Site

MuCRM está de cara nova

v4

Reorganizamos 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.

ℹ️O que isso significa na prática
  • 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

Áreav4
ViewsPHP SSR — <?= e($var) ?>, sem diretivas :if / :csrf
Estruturaapp/modules/, themes/, config/
ControllersHandlers — MUCRM\http\handler
Rotasuri::get / post / put / patch / delete + to()
Authlogged(), account(), Bearer API
ORMhas_one, has_many, belongs_to (snake_case)
Forms<?= csrf() ?>, <?= method('PUT') ?>

Como uma página é montada

URL → rota → middleware → handler → view PHP → layout → HTML

Exemplo 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úblicaapp/http/web/handlers/ ou módulo
Painel adminapp/http/admin/handlers/
Área do jogadorroutes/user.php + middleware user
Plugin / móduloapp/modules/{nome}/
Templatethemes/{tema}/ ou app/modules/{nome}/views/
Configconfig/*.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.


Próximos passos