tiomarilde/micro-framework
Composer 安装命令:
composer require tiomarilde/micro-framework
包简介
Micro-framework PHP enxuto e modular: ORM, Router, Auth, Validation, Security, Container, View, Queue, Console e Schema.
README 文档
README
Um micro-framework PHP 8.4+, modular e de baixo acoplamento. O core/ é o
framework; tudo fora dele (app/, config/, routes/, resources/) é um
starter genérico que você adapta para qualquer aplicação.
Filosofia: use só o que precisar. Dá para usar apenas o ORM, apenas o roteamento, ou apenas a validação — sem arrastar o resto.
Requisitos
- PHP 8.4+ com as extensões
pdo_mysql,mbstring,fileinfo,openssl - MySQL 8
- Composer
Há duas formas de usar: (A) clonar este repositório e rodar o starter completo (bom para começar do zero), ou (B) instalar só o core como dependência Composer em um projeto que você já tem.
A) Rodar o starter (este repositório)
O repositório inclui um ambiente Docker (nginx + php-fpm + MySQL).
cp .env.example .env # ajuste as credenciais se necessário docker compose up -d --build # sobe nginx, php-fpm e MySQL docker exec micro-framework composer install docker exec micro-framework php console migrate
A aplicação fica disponível em http://localhost/.
B) Instalar como dependência (Composer)
Para reaproveitar o core em outro projeto sem clonar este repositório, instale-o como pacote. Como o repositório é privado, use um repositório VCS apontando para o GitHub — sem necessidade de Packagist.
No composer.json do seu projeto, registre o repositório:
{
"repositories": [
{ "type": "vcs", "url": "git@github.com:tiomarilde/micro-framework.git" }
]
}
E instale:
composer require tiomarilde/micro-framework:^3.27
O Composer resolve pelas tags SemVer (via SSH). O ^3.27 traz minors/patches
automaticamente (mantendo < 4.0.0); mudanças incompatíveis exigem bump manual.
Para atualizar depois: composer update tiomarilde/micro-framework.
No entry point do projeto, require 'vendor/autoload.php' já carrega o namespace
Core\ e os helpers globais do core.
O que o pacote traz — e o que não traz
O pacote expõe apenas o Core\ (o framework). O scaffold de aplicação
(bootstrap/, config/, public/index.php, routes/, resources/) não vem
no pacote — ele é o starter, específico de cada app. Copie esses diretórios deste
repositório uma vez para o seu projeto e, a partir daí, atualize só o core via
Composer.
O bootstrap/app.php é quem monta o Container e registra os serviços
(App::setContainer, Config, Request, Session, ConnectionManager, Auth, Router…) —
veja architecture.md e
container.md.
Quickstart
1. Rota — routes/app.php:
$router->get('/hello/{name}', [HelloController::class, 'show']);
2. Controller — app/Controllers/HelloController.php (php console make:controller HelloController):
namespace App\Controllers; use Core\Router\Http\Request; use Core\Router\Http\Response; class HelloController { public function show(Request $request, string $name): Response { return view('hello', ['name' => $name]); } }
3. View — resources/hello.blade.php:
<h1>Olá, {{ $name }}!</h1>
Estrutura
core/ → o framework (não misture regra de negócio aqui)
app/ → seus controllers, models, middlewares
config/ → app, auth, authorization, console, view
routes/ → definição de rotas
resources/ → views (.blade.php) e páginas de erro
database/ → migrations e seeders
public/ → front controller (index.php)
console → CLI do framework
Módulos do core
| Módulo | O que faz | Depende de |
|---|---|---|
Container |
injeção de dependência + autowiring | — (fundação) |
Router |
rotas, middlewares, CSRF | Container |
Database |
ORM, QueryBuilder, conexões nomeadas | ConnectionManager + PDO |
Schema |
schema builder + migrations | PDO |
Auth |
autenticação por sessão, remember-me, rate limit | Session + model de usuário |
Authorization |
RBAC opt-in (gate, permissões, papéis) | nada obrigatório (resolver de banco é opcional) |
View |
engine de templates estilo Blade | — |
Validation |
validação de entrada | — |
Security |
criptografia, JWT, TOTP | ext-openssl |
Queue |
jobs assinados, dispatcher, worker | Database (driver padrão) |
Log |
logging com handlers | — |
Support |
Str, Hash, UUID, uploads | — |
Documentação detalhada de cada módulo em core/documentation/.
CLI
php console list # lista os comandos php console make:controller X # gera controller php console make:model X # gera model php console make:migration X # gera migration php console migrate # roda migrations pendentes php console migrate:status # status das migrations php console db:seed # roda seeders
Testes
Os testes usam Pest, em tests/Unit e tests/Feature:
docker exec micro-framework php vendor/bin/pest
Documentação
O índice completo está em core/documentation/README.md.
Destaques: arquitetura,
container,
ORM,
autorização/RBAC.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-13