PHPackages                             tiomarilde/micro-framework - 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. tiomarilde/micro-framework

ActiveLibrary[Framework](/categories/framework)

tiomarilde/micro-framework
==========================

Micro-framework PHP enxuto e modular: ORM, Router, Auth, Validation, Security, Container, View, Queue, Console e Schema.

v3.28.1(1mo ago)11↓100%MITPHPPHP ^8.4

Since Jul 9Pushed 1mo agoCompare

[ Source](https://github.com/tiomarilde/micro-framework)[ Packagist](https://packagist.org/packages/tiomarilde/micro-framework)[ Docs](https://github.com/tiomarilde/micro-framework)[ RSS](/packages/tiomarilde-micro-framework/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (47)Used By (0)

Micro-framework PHP
===================

[](#micro-framework-php)

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
----------

[](#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)
-------------------------------------

[](#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)
---------------------------------------

[](#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-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](core/documentation/architecture.md) e [container.md](core/documentation/container.md).

Quickstart
----------

[](#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`:

```
Olá, {{ $name }}!
```

Estrutura
---------

[](#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ódulos-do-core)

MóduloO que fazDepende de`Container`injeção de dependência + autowiring— (fundação)`Router`rotas, middlewares, CSRFContainer`Database`ORM, QueryBuilder, conexões nomeadasConnectionManager + PDO`Schema`schema builder + migrationsPDO`Auth`autenticação por sessão, remember-me, rate limitSession + 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, TOTPext-openssl`Queue`jobs assinados, dispatcher, workerDatabase (driver padrão)`Log`logging com handlers—`Support`Str, Hash, UUID, uploads—Documentação detalhada de cada módulo em [`core/documentation/`](core/documentation/README.md).

CLI
---

[](#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
------

[](#testes)

Os testes usam [Pest](https://pestphp.com/), em `tests/Unit` e `tests/Feature`:

```
docker exec micro-framework php vendor/bin/pest
```

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

[](#documentação)

O índice completo está em [`core/documentation/README.md`](core/documentation/README.md). Destaques: [arquitetura](core/documentation/architecture.md), [container](core/documentation/container.md), [ORM](core/documentation/orm.md), [autorização/RBAC](core/documentation/authorization.md).

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance90

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity64

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

36

Last Release

48d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c853630f10c190a0d677e2087c18ccec5aaafaa975f2c2b19ca4984f8872fb30?d=identicon)[tiomarilde](/maintainers/tiomarilde)

---

Top Contributors

[![tiomarilde](https://avatars.githubusercontent.com/u/197885633?v=4)](https://github.com/tiomarilde "tiomarilde (129 commits)")

---

Tags

phpframeworkrouterormmicro-framework

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/tiomarilde-micro-framework/health.svg)

```
[![Health](https://phpackages.com/badges/tiomarilde-micro-framework/health.svg)](https://phpackages.com/packages/tiomarilde-micro-framework)
```

###  Alternatives

[mirekmarek/php-jet

PHP Jet is modern, powerful, real-life proven, really fast and secure, small and light-weight framework for PHP8 with great clean and flexible modular architecture containing awesome developing tools. No magic, just clean software engineering.

241.3k](/packages/mirekmarek-php-jet)

PHPackages © 2026

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