v1.0.0 MITPHP 8.4+

Um servidor. Um framework. Um milhão de requisições por segundo.

Bootgly é o framework PHP nativo e sem dependências, com um único núcleo assíncrono para Web e CLI. Sem Nginx, sem PHP-FPM, sem extensões em C — e sem pacotes de terceiros para o seu time de segurança auditar.

bash
$ curl -fsSL https://bootgly.com/install | bash

Deixar o PHP rápido é um imposto.

Você paga em servidores, em auditorias e em tempo de onboarding.

Infra inchada

A stack clássica põe Nginx na frente, PHP-FPM atrás e supervisores em volta. A moderna — Swoole, FrankenPHP, frameworks de event-loop — troca isso por extensões em C, binários custom e novas APIs para aprender. De todo jeito, cada peça é mais uma config para ajustar, mais uma coisa para monitorar — e mais uma conta para pagar.

Roleta de dependências

Uma aplicação típica puxa centenas de pacotes de terceiros. Cada um deles é superfície de supply chain que seu time coloca em produção — e precisa auditar, corrigir e atualizar.

Doze jeitos de fazer tudo

Servidores, esquemas de config e stacks de teste concorrentes fazem de cada projeto um novo conjunto de decisões. Times desaceleram discutindo encanamento em vez de entregar.

Por que o Bootgly existe

Tudo incluso.

"Baterias inclusas" aqui não é metáfora — o núcleo traz todas as camadas de um backend moderno, com zero pacotes de terceiros.

Servidor HTTP

Servidor de event-loop em PHP puro: HTTP/1.1 e HTTP/2 nativo (HPACK, multiplexação, ALPN), TLS, Fibers para I/O não bloqueante. Sem Nginx, sem FPM.

Bootgly1.084.550 req/s
Swoole1.003.388 req/s

Plaintext @ 16 workers — Medido em 2026-07-25 — 24 CPUs lógicas, WSL2, PHP 8.4, 514 conexões.

Docs

Zero dependências

Todo o núcleo é código próprio: servidor, router, ORM, sessões, cache, testes. Seu composer.json continua deste tamanho.

{
  "require": {
    "php": "^8.4",
    "ext-openssl": "*"
  }
}
Docs

WebSockets

Servidor e cliente, RFC 6455, permessage-deflate, canais e broadcast — Autobahn: 462 testes, 0 falhas.

Docs

PostgreSQL assíncrono

DBAL + ORM nativos com query e schema builders, migrations, seeders, transações e réplicas de leitura.

Docs

Testes

Suites, assertions expressivas, doubles Mock/Spy/Fake, cobertura, snapshots e fakers.

Docs

Kit CLI

Comandos, marcação ANSI de saída e 33 componentes UI/UX de terminal — tudo no núcleo, zero plugins.

Docs

Segurança

CORS, CSRF com masking, rate limit de janela deslizante, secure headers, JWT (HS256/RS256/JWKS), RBAC.

Docs

Cache & storage

Cache em File, APCu, memória compartilhada e Redis; storage Local, Memory e compatível com S3.

Docs

Filas & agendamento

Jobs em background com retry e dead-letter, scheduler estilo cron e eventos sem overhead.

Docs

Observabilidade

Counters, gauges e histogramas com exportadores JSON, Prometheus e OTLP.

Docs
Primeiro em PHP puro

Auto-TLS

ACME nativo (Let's Encrypt): o servidor obtém o próprio certificado, faz hot-swap nos workers ao vivo e renova sozinho — HTTPS automático como o Caddy, em PHP puro. Sem certbot, sem cron.

Docs
E também:
  • Router + cache de rotas
  • Sessões
  • Template engine
  • Servidores e clientes TCP/UDP
  • Cliente HTTP
  • ETag
  • Compressão
  • TrustedProxy
  • Logging

Um framework. Zero peças soltas.

Tudo que um backend moderno precisa, integrado em um núcleo coerente.

Faça mais com menos infra

Um servidor HTTP nativo de event-loop em PHP puro — Fibers para I/O não bloqueante, HTTP/2, WebSockets, TCP e UDP. Uma alternativa direta a Swoole e FrankenPHP sem nada extra para instalar.

  • HTTP/1.1 + HTTP/2
  • WebSocket
  • Fiber pool
Compare os runtimes

Domine sua cadeia de dependências

Zero pacotes de terceiros no núcleo. Servidor, router, ORM, sessões, cache e framework de testes são código próprio — um vendor/ menor e uma superfície de ataque menor.

  • 0 runtime deps
  • DBAL + ORM
  • built-in tests
O que é Bootgly

Um único jeito de fazer cada coisa

Um servidor HTTP, um esquema de config, um framework de testes. Código previsível significa onboarding mais rápido, reviews mais rápidos e zero bikeshedding.

  • 1 server
  • 1 config schema
  • 1 test framework
Explore o manual

Arquitetura que se sustenta

Seis camadas com dependências de sentido único e sem pulos entre camadas — I2P (Interface-to-Platform) mantém a base de código limpa de forma verificável enquanto cresce.

ABIACIADIAPI CLI WPI

Dependências fluem em um único sentido — para baixo. Sem pulos, sem ciclos.

Leia a arquitetura

I2P — seis camadas, uma direção.

O primeiro framework PHP com arquitetura Interface-to-Platform: cada interface de topo cria uma plataforma.

Interfaces de topo — cada uma cria uma plataforma

CLI→ Plataforma Console

Command Line Interface

Componentes de UI para terminal: alertas, menus, barras de progresso, tabelas, comandos interativos, etc.

WPI→ Plataforma Web

Web Programming Interface

Infraestrutura web: HTTP server, HTTP client, TCP server, TCP client — networking de alta performance do zero.

Camadas de fundação

API Application Programming InterfaceOrquestração de aplicação: componentes, endpoints, ambientes, projetos e gerenciamento de servidor. Bifurca em CLI e WPI.
ADI Abstract Data InterfaceAbstrações da camada de dados: conexões com banco de dados, operações de tabela e fundações de ORM.
ACI Abstract Common InterfaceUtilitários compartilhados para observabilidade: benchmarking, sistema de eventos, logging e o framework de testes integrado.
ABI Abstract Bootable InterfaceInfraestrutura central de bootstrap: configs, manipulação de dados, IO, resources e o template engine. A base sobre a qual tudo é construído.

Dependências fluem em um único sentido — para baixo. Sem pulos, sem ciclos.

Docs

Por baixo do capô.

Três exemplos do que "nativo" significa na prática.

Um servidor HTTP de verdade, não um wrapper

Rotas são closures generator em um event loop de longa duração. Fibers mantêm o I/O não bloqueante; workers escalam pelos núcleos. Este é o hello world inteiro.

router/routes/Core.php
return static function (Request $Request, Response $Response, Router $Router): Generator
{
   yield $Router->route('/', function (Request $Request, Response $Response) {
      return $Response(body: 'Hello World!');
   }, GET);

   // Catch-all 404
   yield $Router->route('/*', fn (Request $Request, Response $Response) =>
      $Response(code: 404, body: 'Not Found')
   );
};

Uma camada de dados assíncrona

O driver PostgreSQL fala o protocolo de rede nativamente e faz pool de conexões por worker — queries suspendem Fibers em vez de bloquear workers. É daí que vêm os +74% sobre o Swoole no /db.

Docs

+74%

mais throughput que o Swoole em query única no banco — pico vs pico (2026-07-04)

Query única no banco

Quanto maior, melhor
  • Bootgly @ 22 workers166.746 req/s
  • Swoole @ 24 workers95.718 req/s

Medido em 2026-07-04 — 24 CPUs lógicas, WSL2, PHP 8.4, 514 conexões.

Ferramentas que você não precisa escolher

O framework de testes, o template engine e os componentes de CLI fazem parte do núcleo — um estilo, um runner, zero plugins.

Progress-01.demo.php
$Progress = new Progress($Output);
$Progress->total = 1000000;

$Progress->start();
// ~7× faster than Laravel / Symfony
$Progress->advance();
$Progress->finish();

Números, não adjetivos.

Cada número abaixo vem de execuções de benchmark publicadas e reproduzíveis.

Mesmo hardware, medições datadas, scripts reproduzíveis — leia a metodologia antes de citar.

Plaintext

Quanto maior, melhor
  • Bootgly @ 16 workers1.084.550 req/s
  • Swoole @ 17 workers1.003.388 req/s
  • Laravel + FPM @ 23 workers6.959 req/s

JSON

Quanto maior, melhor
  • Bootgly @ 18 workers1.037.342 req/s
  • Swoole @ 19 workers979.082 req/s

Query única no banco

Quanto maior, melhor
  • Bootgly @ 22 workers166.746 req/s
  • Swoole @ 24 workers95.718 req/s

Múltiplas queries (20)

Quanto maior, melhor
  • Bootgly @ 22 workers24.966 req/s
  • Swoole @ 24 workers17.263 req/s

Fortunes (banco + template)

Quanto maior, melhor
  • Bootgly @ 24 workers131.263 req/s
  • Swoole @ 24 workers98.557 req/s

Updates (20 queries)

Quanto maior, melhor
  • Bootgly @ 24 workers5.782 req/s
  • Swoole @ 24 workers3.721 req/s

Consultas cacheadas (20)

Quanto maior, melhor
  • Bootgly @ 18 workers572.512 req/s
  • Swoole @ 18 workers554.313 req/s

Medido em 2026-07-04 – 2026-07-22 – 2026-07-25 — 24 CPUs lógicas, WSL2, PHP 8.4, 514 conexões. Mesmo hardware, scripts reproduzíveis, relatórios publicados.

Repositório de benchmarks Comparação completa (6 runtimes PHP)

Especificações técnicas.

PHP
≥ 8.4
Licença
MIT
Versão
v1.0.0
Dependências de runtime
0
Protocolos
HTTP/1.1 · HTTP/2 · TLS/ALPN · WebSocket · TCP · UDP
Banco de dados
PostgreSQL (async)
Plataforma
Nativo em Linux (Windows via Docker)
Docs
llms.txt · MCP · AI assistant

Seu primeiro projeto em um comando.

O instalador abre o wizard de projetos — de um diretório vazio a um projeto rodando.

bash
$ curl -fsSL https://bootgly.com/install | bash

A documentação é pronta para IA: llms.txt, servidor MCP e assistente integrado.

Continue explorando a documentação: