Docs›Arquitetura›Glossário
Arquitetura

Glossário

Termos e conceitos do MAD em ordem alfabética.

Termos e conceitos do MAD framework, em ordem alfabética. Cada entrada linka para a página que cobre o assunto em profundidade.

A

action Método público de um MadComponent chamável do client via mad:click, mad:submit ou mad:change. Resolvido via Reflection — argumentos por nome, tipo, ou array inteiro. Bloqueado por uma blacklist se for hook de lifecycle ou começar com _.
ApiResourceController Base abstrata de Mad\Rest para REST/CRUD sobre Eloquent, casando com Route::apiResource. Mestre-detalhe, filtros DSL, validação por Model::rules(), hooks. Ver Engine vs REST.
auto-bind Quando uma action retorna void, o MadComponentHandler compara o estado antes/depois e gera as ops parciais sozinho — sem que a action precise montar um MadResponse manualmente.

B

boot() Hook de MadComponent chamado em toda requisição — primeira carga e cada action AJAX. Primeiro hook a rodar no ciclo de vida.

C

CSRF unificado O token validado pelas rotas reativas (/app/_mad-wire, /public/_mad-wire) é o mesmo csrf_token() nativo do Laravel — sem mecanismo próprio de CSRF.

D

dehydrate() Último hook do ciclo de vida — roda antes de serializar o estado público no mad_state. Use para limpar props pesadas que não precisam viajar para o client.
DRAWER Um dos 3 wrappers de MadComponent — painel lateral overlay, configurável por $title/$size/$side. Ver Wrappers.

F

front controller Ponto único de entrada HTTP do app — public/index.php, padrão do Laravel. Substitui os múltiplos entry points (index.php/engine.php/public.php/rest.php) do framework legado.

H

hydrate() Hook chamado logo após o estado ser restaurado numa requisição AJAX (não roda na primeira carga). Use para recarregar dados que não foram serializados no mad_state.

I

INTERNAL Wrapper sem chrome — o componente renderiza direto no main da página. Default de listagens, dashboards e de MadSitePage (sempre forçado).

M

MadAction Builder de URLs e onclicks tipados para navegação entre MadComponents.
MadAppController Controller único que despacha todas as telas do admin (run()) e o ciclo reativo (wire()) — consolidação do que no framework legado eram duas classes separadas.
MadBlade Fachada de render Blade (sobre Illuminate\View) usada por MadComponent::render() e pelos wrappers de modal/drawer.
MadComponent Classe base de todo componente reativo do framework. Ver Anatomia do MadComponent.
MadComponentHandler Processa toda requisição AJAX de um MadComponent — decripta estado, aplica mad_model, chama a action, gera ops. Ver MadWire por dentro.
MadComponentWrapper Decide o chrome (MODAL/DRAWER/passthrough) ao redor do HTML renderizado de um componente, conforme $wrapper.
MadDataGrid Subclasse de MadComponent para listagens reativas — busca, sort, filtro, paginação, export.
MadForm Value object de formulário — campos, visibilidade, readonly, disabled e opções de combo como buckets diffáveis pelo auto-bind.
MadResponse Builder fluente de ops parciais (toast, html, closeModal...), retornado por uma action. Ver MadResponse — todas as ops.
MadRoutes Helpers (screen, expose, resource, exposeClass) que registram rotas amigáveis do admin, todas resolvendo para MadAppController::run().
MadSitePage Subclasse de MadComponent para páginas públicas reativas — wire endpoint em /public/_mad-wire, INTERNAL forçado. Base deste próprio portal de docs.
MadStateCrypt Criptografia autenticada (AES-256-GCM) do mad_state — confidencialidade + integridade, sem dependência de CSRF para o estado em si.
MadWire O sistema de reatividade server-first do framework — mad:click/mad:model disparam POST para /app/_mad-wire ou /public/_mad-wire, processado por MadComponentHandler.
mad_action Campo do POST reativo — nome do método público a chamar no componente hidratado.
mad_model[] Campo do POST reativo — valores coletados de todo elemento com mad:model dentro do wrapper, aplicados antes da action.
mad_state Token criptografado (classe + estado público) que viaja entre client e servidor a cada round-trip reativo.
MODAL Um dos 3 wrappers de MadComponent — overlay centralizado, configurável por $title/$size.
mount() Hook chamado apenas na primeira carga (GET) de um MadComponent — nunca em actions AJAX subsequentes.

O

onShow() Nome de entry-point reservado, declarado como no-op vazio na base MadComponent — não é hook de lifecycle e não roda sozinho. Só é chamado quando o request traz method=onShow (é o que navigate="Classe::onShow({id})" gera) ou quando uma subclasse/trait o sobrescreve (ex.: MadFiltersTrait). Para inicializar, use mount(). Ver Anatomia do MadComponent.
ops Lista de instruções declarativas ({op: 'toast', ...}, {op: 'html', ...}) que o client aplica no DOM sem reload — geradas por MadResponse explícito e/ou pelo diff de auto-bind.

P

PermissionGate Gate central de autorização — canAccess($class, $method) para navegação, canAccessWire() para o ciclo reativo.
props públicas Toda propriedade public de um MadComponent vira state reativo — serializada e criptografada a cada response.

R

render parcial Atualização de um seletor específico do DOM (MadResponse->html(), val(), manageRow()) sem re-renderizar o componente inteiro.
REST API Camada JSON stateless do framework (packages/mad-framework/src/mad/rest/) — independente do MadWire, pensada para consumo externo. Ver Engine vs REST.

S

ShellController Decide qual casco visual servir numa navegação direta — iframe, layout admin, layout público ou login — conforme sessão e parâmetros da request.
show() Método de entrada de um MadComponent — orquestra boot()/mount()/dispatch de método/render. Chamado pelo controller que resolveu a rota.
?static=1 Query param que, combinado com um método PHP-estático, faz MadAppController::run() invocar o método direto e devolver o output bufferizado como application/json — sem casco e sem show() (feeds de widget, Mad.exec). Método de instância com static=1 segue o fluxo normal de fragmento (o Mad.go sempre manda static=1, herança do engine legado). Métodos de nome mutante (save*, onDelete…) exigem POST — GET recebe 405. Ver Ciclo de requisição.

U

updating() / updated() Hooks disparados antes/depois de uma prop pública mudar via mad:model — validação e efeitos colaterais.

V

view() Método abstrato de MadComponent — retorna o nome da view Blade (ou [nome, dados extras]) a renderizar.
VERSION Arquivo de texto puro packages/mad-framework/VERSION — fonte da verdade do semver do pacote (hoje 5.118.0), lido em runtime por \Mad\Support\MadFramework::version() (cache por request; 0.0.0-unknown se o arquivo faltar ou não bater X.Y.Z). Nunca vira o campo version do composer.json: o require dos apps é mad/framework: "@dev" via path repo e uma version explícita mudaria a stability para stable, quebrando o composer install de todo app já gerado.

W

wrapper Configuração estática ($wrapper) que define como o framework apresenta o componente — INTERNAL, MODAL ou DRAWER. Ver Wrappers.

Próximos passos