Fermi is a nuclear-sized PSR-7 and PSR-15 compliant PHP framework. Its goal is to be small and transparent so that novice developers can fully comprehend how it works, but powerful and extensible so that expert developers can get real value from it.
Fermi differs substantially from other PHP frameworks:
- It contains very little original code. In fact, you could think of it as a curated collection of excellent packages.
- B.Y.O.C. (bring your own container)... or don’t.
- Hacking core is encouraged.
That last point probably made you 😳. Fermi core is a collection of stateless static methods that sits right alongside your project rather than hidden in the vendor
directory. The framework is intended to serve more like scaffolding than an external dependency. Thanks to the great work of PHP-FIG, we can rely on compliant packages instead of designing a new wheel.
To create a new Fermi project, use Composer’s create-project
command:
composer create-project journey/fermi your-new-app
You can then point an Apache virtual host to the public directory, or run Fermi with PHP’s built-in server:
php -S 127.0.0.1:8080 -t public public/index.php
Fermi uses the following excellent open-source packages by default:
Function | Package |
---|---|
Messages | zendframework/zend-diactoros |
Middleware Dispatcher | mindplay/middleman |
Router | nikic/fast-route |
Templating | league/plates |
Feel free to swap these out with any of your own packages.
The Fermi framework is open-source software licensed under the MIT license.