bootgly / bootgly
The Bootgly PHP Framework.
Fund package maintenance!
bootgly
Requires
- php: ^8.2
Requires (Dev)
- phpstan/phpstan: 1.11.x-dev
- dev-main
- v0.5.0-beta
- v0.4.0-beta
- v0.3.4-beta
- v0.3.3-beta
- v0.3.2-beta
- v0.3.1-beta
- v0.3.0-beta
- v0.2.0-beta
- v0.1.7-beta
- v0.1.6-beta
- v0.1.5-beta
- v0.1.4-beta
- v0.1.3-beta
- v0.1.2-beta
- v0.1.1-beta
- v0.1.0-beta
- v0.0.12-alpha
- v0.0.11-alpha
- v0.0.10-alpha
- v0.0.9-alpha
- v0.0.8-alpha
- v0.0.7-alpha
- v0.0.6-alpha
- v0.0.5-alpha
- v0.0.4-alpha
- v0.0.3-alpha
- v0.0.2-alpha
- v0.0.1-alpha
This package is auto-updated.
Last update: 2024-04-23 01:37:25 UTC
README
Bootgly
Base PHP Framework for Multi Projects.
Bootgly is the first PHP framework to use the I2P (Interface-to-Platform) architecture.
Warning
🚧 DO NOT USE IT IN PRODUCTION ENVIRONMENTS. 🚧
Bootgly is in beta testing. A major version (1.0) is soon to release.
Documentation is under construction.
Table of Contents
🤔 About
Bootgly is a base framework for developing APIs and Apps for both CLI (Console) 📟 and WPI (Web) 🌐.
"Bootgly is focused on efficiency and follows a minimum dependency policy. Thanks to this approach, its unique I2P architecture, along with some uncommon code conventions and design patterns, allows Bootgly to offer superior performance while providing an easy-to-understand Code APIs."
Bootgly CLI 📟
Command Line Interface
For the base CLI development, Bootgly already has the following UI components: Alert, Fieldset, Header, Menu, Progress, Table.
Bootgly WPI 🌐
Web Programming Interface
For the base Web development, Bootgly has a HTTP Server CLI, a TCP Client CLI and a TCP Server CLI.
More news may come until the release of v1.0. Stay tuned.
🟢 Boot Requirements
🤝 Compatibility
Operation System |
---|
✅ Linux (Debian based) |
❌ Windows |
❔ Unix |
--
✅ = Compatible
❌ = Incompatible
❔ = Untested
Above is the native compatibility, of course it is possible to run on Windows and Unix using Docker containers.
⚙️ Dependencies
- PHP 8.2+ ⚠️
- Opcache with JIT enabled (+50% performance) 👍
- Bootgly CLI 📟
php-cli
⚠️php-mbstring
⚠️php-readline
⚠️
- Bootgly WPI 🌐
WPI in CLI *API¹ (eg. Bootgly HTTP Server CLI):
- * See Bootgly CLI dependencies *
WPI in Non-CLI (apache2handler, litespeed and nginx) SAPI²:
rewrite
module enabled ⚠️
--
⚠️ = Required
👍 = Recommended
¹ *API = Can be Server API (SAPI), Client API (CAPI), etc.
² SAPI = Server API
🌱 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]
💖 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
📟 Bootgly CLI:
Run Bootgly CLI demo
- See the examples in
projects/Bootgly/CLI/examples/
; - Check the file
projects/Bootgly/CLI.php
; - Run the Bootgly CLI demo in terminal:
php bootgly demo
Setup Bootgly CLI globally
- Run the Bootgly CLI setup command in terminal (with sudo):
sudo php bootgly setup
Perform Bootgly tests
- Check the bootstrap tests file
tests/@.php
; - Run the Bootgly CLI test command in terminal:
bootgly test
🌐 Bootgly WPI:
Running a HTTP Server
Option 1: Non-CLI SAPI (Apache, LiteSpeed, Nginx, etc)
- Enable support to
rewrite
; - Configure the WPI boot file in
projects/Bootgly/WPI.boot.php
file; - Run the Non-CLI HTTP Server pointing to
index.php
.
Option 2: CLI SAPI
Directly in Linux OS (max performance):
- Configure the Bootgly HTTP Server script in
scripts/http-server-cli
file; - Configure the HTTP Server API in
projects/Bootgly/WPI/HTTP_Server_CLI-1.SAPI.php
file; - Run the Bootgly HTTP Server CLI in the terminal:
bootgly serve
or
php scripts/http-server-cli
--
or using Docker:
- Pull the image:
docker pull bootgly/http-server-cli
- Run the container in interactive mode and in the host network for max performance:
docker run -it --network host bootgly/http-server-cli
Routing HTTP Requests on the Server-side
🖼 Highlights
- Bootgly CLI 📟
Bootgly CLI - initial output |
Progress component (with Bar) - Render ≈7x faster than Laravel / Symfony |
- Bootgly WPI 🌐
Bootgly HTTP Server CLI (wrk benchmark) - +7% faster than Workerman in the Plain Text test |
HTTP Server CLI - started in monitor mode |
More Screenshots, videos and details can be found in the home page of Bootgly Docs.
📃 License
The Bootgly is open-sourced software licensed under the MIT license.
📑 Versioning System
Bootgly uses Semantic Versioning 2.0.