PHPackages                             felipe-code/mvc-base - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. felipe-code/mvc-base

ActiveProject[Framework](/categories/framework)

felipe-code/mvc-base
====================

A simple PHP MVC skeleton for learning and reuse.

4.4.4(1mo ago)034↓50%MITPHPPHP &gt;=8.5.0

Since Feb 19Pushed 1mo agoCompare

[ Source](https://github.com/FelipeOropeza/mvc-estrutura)[ Packagist](https://packagist.org/packages/felipe-code/mvc-base)[ RSS](/packages/felipe-code-mvc-base/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (8)Versions (58)Used By (0)

MVC Base Project (Framework Full-Stack)
=======================================

[](#mvc-base-project-framework-full-stack)

Um esqueleto PHP puro, robusto e focado em performance (Stateless). Construído do zero para suportar a Arquitetura Moderna do PHP: Container de Injeção de Dependências (PSR-11 feeling), Cycle de Request/Response via Middlewares (PSR-15 feeling), Service Providers e preparado para servidores assíncronos como o FrankenPHP.

Principais Features Atuais
--------------------------

[](#principais-features-atuais)

- **Arquitetura Stateless**: Sem vazamentos globais (Globals como `$_GET` e `$_POST` são embalados no objeto `Request`).
- **Container de Injeção de Dependências (IoC)**: Autowiring de classes inteligentes via Reflection API. Funções Globais como `app()` e `logger()`.
- **Sessões e Proteção CSRF Nativa**: Gerenciamento de sessão Orientado a Objetos integrado ao pipeline (Middlewares) e proteção fácil de formulários contra ataques Cross-Site Request Forgery.
- **Router Expressivo e Rápido**: Suporte a parâmetros dinâmicos na URL, **Grupos de Rotas** e agora com suporte total a **PHP 8 Attributes** (`#[Get]`, `#[Post]`) diretamente nos Controllers para maior produtividade.
- **Eventos em Tempo Real (Mercure)**: Integração nativa com o hub Mercure para broadcasting de eventos instantâneos. Use o helper `broadcast()` no PHP e receba atualizações automáticas no front-end via HTMX ou JavaScript puro.
- **Docker &amp; FrankenPHP Integrado**: Ambiente pronto para a nuvem. Utiliza a imagem oficial do FrankenPHP com suporte nativo ao **Mercure Hub** (embutido no Caddy) e operando com o **Worker Mode** para performance extrema na casa dos milissegundos.
- **Service Providers Lifecycle**: Motor flexível similar ao Laravel, permitindo construção modular de recursos através de classes simples no `config/app.php`.
- **Database Avançado (ORM)**: O framework inclui um poderoso `QueryBuilder` fluente amarrado às Models com suporte limpo a *Eager Loading* aninhado (`dot.notation`), conversões nativas seguras de booleanos no envio e recuperação inteligente de metadados protegidos via `$hidden`. Tudo pensado de forma blindada contra SQL Injection.
- **Upload Seguro e Storage**: Abstração Orientada a Objetos robusta para manipulação e validação de `UploadedFile`.
- **Segurança e Log de Falhas**: Exceções são silenciadas no arquivo `storage/logs/app.log` se o modo de debug estiver inativo (`APP_DEBUG=false`), blindando a visão do usuário final num Deploy de Produção.
- **Suporte Nativo ao HTMX**: Métodos utilitários nativos de Request e Response (`isHtmx()`, `hxTrigger()`), além de motor PHP capaz de isolar renderização de componentes parciais (pular Layout Mestre).
- **API &amp; JWT Suporte Nativa**: Ferramentas para construir APIs Stateless protegidas por **JSON Web Tokens**. Comando `setup:api` para scaffold rápido.
- **Sistema de E-mails Robusto**: Abstração de e-mails via PHPMailer com suporte a SMTP e drivers configuráveis.
- **Filas e Processamento Assíncrono (Queues)**: Adie tarefas pesadas para background com drivers de **Banco de Dados** ou **Redis**.
- **Cache Inteligente**: Drivers de **Arquivo** e **Redis** para armazenamento temporário e alta performance.
- **Início Rápido com Docker**: Ambiente com **Redis** e MariaDB pré-configurados no `docker-compose.yml`.
- **CLI (Forge)**: Uma ferramenta de console robusta para criar código, rodar migrações e processar filas.

Documentação
------------

[](#documentação)

Para mergulhar fundo e aprender a separar a lógica da sua aplicação de forma profissional num MVC, construir modelos, usar o Validator baseado em PHP 8 Attributes e a CLI do Framework, consulte a documentação dedicada na pasta `docs/`:

=&gt; [Ler a Documentação do Motor MVC](docs/framework.md)

---

Início Rápido (Instalação e Teste)
----------------------------------

[](#início-rápido-instalação-e-teste)

### Método 1: Via Composer (Recomendado)

[](#método-1-via-composer-recomendado)

A forma mais fácil de criar a aplicação é rodar o `create-project`. Ele baixará a última versão, iniciará o **instalador interativo** e limpará os arquivos de instalação ao finalizar.

```
composer create-project felipe-code/mvc-base nome-do-seu-projeto
```

### Método 2: Via Git Clone Manual

[](#método-2-via-git-clone-manual)

Se preferir clonar o repositório, você pode engatilhar o instalador interativo logo em seguida com os comandos abaixo:

```
git clone https://github.com/FelipeOropeza/mvc-estrutura.git meu-app
cd meu-app
composer install
composer run post-create-project-cmd
```

### Método 3: Via Docker (Alta Performance com FrankenPHP)

[](#método-3-via-docker-alta-performance-com-frankenphp)

O projeto já conta com o poderoso ambiente Docker pré-configurado. Se você possui o Docker instalado e quer máxima performance, basta levantar os containers, e ele montará automaticamente o PHP8 com o Worker Mode:

```
docker-compose up -d --build
```

Acesse `http://localhost:8000` no seu navegador. O Servidor FrankenPHP gerenciará nativamente a aplicação!

---

### Iniciando o Servidor Local Seguro (Modo Tradicional via PHP CLI):

[](#iniciando-o-servidor-local-seguro-modo-tradicional-via-php-cli)

Se não for usar o Docker, uma vez que o projeto esteja instanciado, inicie o servidor interno:

```
composer start
```

*(O script `start` inicia o servidor embutido do PHP apontando para a pasta `/public`, garantindo a segurança dos arquivos internos).*

Acesse `http://localhost:8000` no seu navegador.

---

### Comandos Rápidos da CLI (Forge):

[](#comandos-rápidos-da-cli-forge)

```
php forge make:controller NomeController
php forge make:controller Api/UsuarioController --api
php forge make:model TabelaModel
php forge make:view secao/nova-view
php forge make:component nome_componente
php forge make:migration CreateUsersTable
php forge make:middleware VerificarAcessoMiddleware
php forge make:rule CpfValido
php forge make:mutator LimpaCpf
php forge migrate
php forge setup:auth
php forge setup:api
php forge setup:aviso
php forge queue:work
```

Exemplos Reais
--------------

[](#exemplos-reais)

- [**Avisos em Tempo Real**](docs/REALTIME_DEMO.md): Guia prático para testar o sistema de notificações instantâneas com HTMX e Mercure.

Licença
-------

[](#licença)

MIT

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance90

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

57

Last Release

52d ago

Major Versions

v1.0.2 → v2.0.02026-02-19

2.6.0 → 3.0.02026-02-27

3.5.1 → 4.0.02026-03-09

PHP version history (2 changes)v1.0.0PHP &gt;=8.0

4.3.1PHP &gt;=8.5.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/101806766?v=4)[Felipe Carvalho C. Oropeza](/maintainers/FelipeOropeza)[@FelipeOropeza](https://github.com/FelipeOropeza)

---

Top Contributors

[![FelipeOropeza](https://avatars.githubusercontent.com/u/101806766?v=4)](https://github.com/FelipeOropeza "FelipeOropeza (171 commits)")

---

Tags

phpframeworkroutermvcSkeleton

### Embed Badge

![Health badge](/badges/felipe-code-mvc-base/health.svg)

```
[![Health](https://phpackages.com/badges/felipe-code-mvc-base/health.svg)](https://phpackages.com/packages/felipe-code-mvc-base)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
