PHP MVCDOCUMENTAÇÃO
v2.0.0

DOCUMENTAÇÃO TÉCNICA · VERSÃO 2.0.0

PHP MVC
Framework

Uma base MVC em PHP, organizada para você entender o fluxo e estender o que realmente existe no código.

PHP ≥ 8.1 · Composer · MySQL/PDO · Sem dependências de frontend

request → router
controller → service
model → view ✓
ARQUITETURA EXPLÍCITA
Conteúdo fiel ao repositórioA API de pagamentos disponível é apenas um gateway nulo; a API REST incluída ainda não registra CRUD de usuários.Entenda o escopo →

Acesso rápido

Instalação rápida

composer create-project elias-antonio/php-mvc php-mvc
cd php-mvc

# O script pós-criação copia .env.example e instala dependências.
# Ajuste .env; se necessário, gere APP_KEY.
php mvc key:generate
php mvc migrate
php mvc serve

Configure APP_URL, banco MySQL e variáveis de ambiente antes de iniciar. Em produção, APP_URL é obrigatória. Veja o guia completo de instalação.

Rota implementada no projeto

$router->get('/', [HomeController::class, 'index'])->name('home');

Mapa da documentação

Os guias são modulares por recurso. Use a busca para consultar classes, regras, helpers e comandos. A referência de API inclui as assinaturas extraídas do código.

Roteiro recomendado

Para sair do mapa geral e chegar a um primeiro fluxo funcional, siga esta ordem. Cada etapa aponta para o guia que explica as decisões, não apenas os comandos.

EtapaO que verificarPróximo guia
1 · PrepararPHP, Composer, MySQL e arquivo de ambienteInstalação
2 · Entender o fluxoEntrada HTTP, Router, middleware, action e respostaCiclo da requisição
3 · Criar uma interfaceRota, Controller, Request e ViewRoteamento
4 · Persistir dadosModel, consultas parametrizadas e migrationsModels
5 · Proteger entradasValidação, sessão, CSRF e autenticaçãoValidação
Este repositório é uma base enxuta: a leitura da documentação deve ser guiada pelas classes e rotas presentes. A API própria expõe leitura de usuários e autenticação; o gateway de pagamento concreto ainda não existe.

Primeiro ciclo verificável

Depois de configurar o banco, use o CLI para conferir os comandos disponíveis, aplicar migrations pendentes e iniciar o servidor local. Execute os comandos na raiz do projeto; o servidor local não substitui a configuração do servidor web de produção.

php mvc list
php mvc migrate
php mvc serve

Antes de experimentar rotas, confirme APP_URL e as credenciais MySQL. Para investigar uma requisição completa, siga o ciclo da requisição.

Comportamento atual da rota inicial

A implementação da rota / distingue visitantes e usuários autenticados. Para visitantes, HomeController::index() renderiza home.index com o layout home. Para usuários autenticados, a action chama redirect('dashboard').

Limitação verificada no código: o helper de redirecionamento aceita caminhos locais iniciados por / e URLs absolutas permitidas; a string relativa dashboard é rejeitada e substituída pelo fallback de APP_URL (ou /). Assim, o fluxo atual não garante o destino /dashboard e pode redirecionar para a própria home repetidamente. Não trate o redirecionamento como funcional até corrigir o chamador para usar /dashboard e testar a configuração da URL base. A documentação registra o comportamento presente; não altera o código do framework.