bluiceoficial / blumiga
Blumiga é um microframework MVC para PHP com arquitetura procedural, modular e de alta performance.
Fund package maintenance!
This package is auto-updated.
Last update: 2026-07-20 19:25:56 UTC
README
O Blumiga é um microframework MVC para PHP desenvolvido utilizando programação procedural com conceitos inspirados em programação funcional.
Seu objetivo é oferecer apenas o essencial para estruturar aplicações web, mantendo um núcleo pequeno, rápido e fácil de entender.
Diferentemente de frameworks que incluem autenticação, ORM, cache, filas e diversos outros recursos por padrão, o Blumiga fornece somente a base da aplicação. Todo o restante pode ser adicionado através de bibliotecas independentes, sejam elas oficiais do ecossistema Blumiga ou de terceiros.
A proposta é simples:
Fornecer um núcleo sólido para que cada desenvolvedor monte apenas o framework que realmente precisa.
Filosofia
O Blumiga segue alguns princípios fundamentais:
- MVC simples e objetivo
- Programação procedural organizada
- Conceitos inspirados em programação funcional
- Arquitetura modular
- Baixo consumo de memória
- Baixa quantidade de dependências
- Compatível com Composer
- Compatível com bibliotecas PSR
- Sem funcionalidades desnecessárias no núcleo
O que faz parte do núcleo
O núcleo do Blumiga é composto apenas pelos recursos necessários para iniciar uma aplicação MVC.
- Sistema de rotas
- Dispatcher
- Controllers
- Models
- Views
- Helpers
- Configuração
- Middlewares
- Tratamento de erros
- Autoload via Composer
O que não faz parte do núcleo
O Blumiga não possui estes recursos por padrão.
Eles podem ser adicionados posteriormente utilizando bibliotecas independentes.
- Autenticação
- Autorização
- Sessão
- Cache
- CSRF
- Rate Limiter
- ORM
- Query Builder
- Logger
- Upload
- Eventos
- Filas
- OAuth
- API Resources
- WebSockets
Essa abordagem permite que cada projeto utilize apenas os componentes realmente necessários.
Requisitos
- PHP 8.4 ou superior
- Composer
- Apache, Nginx ou qualquer servidor compatível com PHP
Instalação
composer create-project bluiceoficial/blumiga meu-projeto
Estrutura do projeto
meu-projeto/
├── app/
│ ├── controllers/
│ ├── models/
│ └── views/
│
├── config/
│ ├── config.php
│ └── routes.php
│
├── core/
│
├── public/
│ └── index.php
│
├── storage/
│
├── vendor/
│
└── composer.json
Criando uma rota
routeGET('/', 'HomeController@index'); routeGET('/contato', 'ContatoController@index'); routeGET('/produto/{id}', 'ProdutoController@show'); routePOST('/login', 'LoginController@store');
Também é possível criar grupos de rotas.
routeGroup('/admin', 'admin', function () { routeGET('/dashboard', 'DashboardController@index'); routeGET('/usuarios', 'UsuarioController@index'); });
Página 404 personalizada.
route404(function () { view('errors/404'); });
Controllers
<?php namespace App\Controllers; function index(): void { view('home', [ 'titulo' => 'Bem-vindo ao Blumiga' ]); }
Models
<?php namespace App\Models; function listarUsuarios(): array { return []; }
Views
<!DOCTYPE html> <html> <head> <title><?= e($titulo) ?></title> </head> <body> <h1><?= e($titulo) ?></h1> </body> </html>
Helpers
Exemplo de escape para HTML.
echo e($nome);
Renderização de views.
view('home');
Renderização passando dados.
view('produto', [ 'produto' => $produto ]);
Bibliotecas
O Blumiga foi projetado para ser modular.
Você pode instalar apenas os componentes necessários.
Exemplo utilizando bibliotecas do ecossistema Blumiga.
composer require blumiga/auth composer require blumiga/session composer require blumiga/cache composer require blumiga/validation
Ou utilizar bibliotecas de terceiros.
composer require symfony/security-core composer require symfony/http-foundation composer require monolog/monolog
Nada impede que o projeto utilize qualquer biblioteca compatível com Composer.
Objetivos do projeto
- Ser simples de aprender
- Ser leve
- Ser rápido
- Ser previsível
- Ser modular
- Dar liberdade ao desenvolvedor
- Evitar dependências desnecessárias
- Facilitar manutenção de aplicações PHP
Roadmap
- Sistema de rotas
- MVC
- Helpers
- Middlewares
- Sistema de Views
- Biblioteca de Autenticação
- Biblioteca de Sessões
- Biblioteca de Cache
- Biblioteca de Banco de Dados
- Biblioteca de Validação
- Biblioteca de Logs
Contribuindo
Contribuições são bem-vindas.
Antes de enviar alterações, abra uma Issue para discutir mudanças significativas.
Autor
Murilo Gomes Julio
📺 https://youtube.com/@bluiceoficial
License
The Blumiga is provided under:
All contributions to the Blumiga are subject to this license.