Bootgly
The native, zero-dependency PHP framework.
One async core for Web 🌐 and CLI 📟 — built for performance and clarity.
Bootgly is a base framework for building APIs and apps on both the Web (WPI) and Console (CLI) platforms — powered by a native, event-loop HTTP server written in pure PHP. It is the first PHP framework built on the I2P (Interface-to-Platform) architecture.
Why Bootgly?
- ⚡ Native async HTTP server in pure PHP — long-running and event-loop driven, with Fibers for non-blocking I/O. No Nginx, no PHP-FPM in front. A pure-PHP alternative to Swoole, Workerman and FrankenPHP — no C extension required. AutoTLS with ACME v2.
- 📦 Zero third-party dependencies in the core — every essential feature (HTTP server, router, config, testing, sessions, DBAL + ORM) is built in. A smaller
vendor/and a smaller supply-chain surface. - 🎯 One canonical way to do everything — one HTTP server, one config schema, one test framework. Predictable, consistent code: fewer decisions, less to maintain, no bikeshedding.
- 🧱 Strict, enforceable architecture — six layers (ABI → ACI → ADI → API → CLI → WPI) with one-way dependencies and no cross-layer skipping. One core, two platforms.
⚡ Quickstart
Install Bootgly and create your first project with one command — the installer opens the project wizard:
curl -fsSL https://bootgly.com/install | bash
⚡ Over 1,000,000 req/s — in pure PHP. On the TechEmpower
/plaintextroute, the HTTP Server CLI peaks at 1,076,709 req/s — ahead of Swoole (964,908) and roughly 150× a Laravel + PHP-FPM stack — with no C extension and no third-party runtime in its core. It leads Swoole on/plaintext,/json,/query(+126%) and/updates(+60%), and beats every other PHP framework benchmarked on every route.Measured on 24 logical CPUs, PHP 8.4.22, 514 connections, 10 s per route, symmetric DB pool. → Full comparison & reproducible runs: Bootgly vs Swoole, Hyperf, ReactPHP, AMPHP & Laravel
Note
Beta — stabilizing toward 1.0. Bootgly is under active development and the public API is still being finalized ahead of the 1.0 release. Pin a version and expect some changes before then; not yet recommended for production use. Documentation is a work in progress.
Table of Contents
⚙️ Dependencies
- PHP 8.4+ ⚠️
- Opcache + JIT enabled (+50% performance) 👍
🐳 Docker: build a
slimorfullBootgly image to run servers, test, benchmark and ship your own projects — see theDockerfileand the Docker guide.
PHP Packages
php-cli⚠️php-openssl⚠️php-readline⚠️php-mbstring👍
--
⚠️ = Required
👍 = Recommended
🌱 Community
Join us and help the community.
Love Bootgly? Give our repo a star ⭐!
💻 Contributing
Wait for the "contributing guidelines" to start your contribution.
🛂 Code of Conduct
Help us keep Bootgly open and inclusive. Please read and follow our Code of Conduct.
🔗 Social networks
- Bootgly on LinkedIn: [Company Page]
- Bootgly on Telegram: [Telegram Group]
- Bootgly on Reddit: [Reddit Community]
- Bootgly on Discord: [Discord Channel]
- Bootgly on X (formerly Twitter): [X (Twitter)]
- Bootgly on Youtube: [YouTube Channel]
💖 Sponsorship
A lot of time and energy is devoted to Bootgly projects. To accelerate your growth, if you like this project or depend on it for your stack to work, consider sponsoring it.
Your sponsorship will keep this project always up to date with new features and improvements / bug fixes.
🚀 Getting started
📦 Install (one command)
The canonical way to start: the installer clones the bootgly.kit starter template, initializes the Bootgly platform and opens the project wizard:
curl -fsSL https://bootgly.com/install | bash
Create more projects anytime — from scratch or importing a platform project (like the Demos):
php bootgly project create
Or import any Project from Platforms or git repository carrying the Bootgly project signature (a *.project.php file at its root):
php bootgly project import
📟 Bootgly CLI
Demo/CLI project and run Bootgly CLI demo- Run the Bootgly CLI demo in terminal:
php bootgly demo
- Run the Bootgly CLI setup command in terminal (with sudo):
sudo php bootgly setup
- Check the global bootstrap tests file
tests/autoboot.php; - Run the Bootgly CLI test command in terminal:
bootgly test
You can also run specific suites or test files by index:
bootgly test 16
bootgly test 16 1
🌐 Bootgly WPI
Demo/HTTP_Server_CLI project and run the demo of HTTP Server- Import a Web project with the wizard (
php bootgly project import); - Run it in the terminal:
bootgly project Demo/HTTP_Server_CLI start
Routing HTTP Requests on the Server-side
Check the documentation for more details and examples: Bootgly Docs.
📃 License
The Bootgly is open-sourced software licensed under the MIT license.