journey/fermi

A nuclear-sized PSR-7 and PSR-15 compliant PHP framework.

2.0.0 2019-05-02 20:23 UTC

This package is not auto-updated.

Last update: 2024-04-07 04:52:40 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version License

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.

Sure but why?

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.

Installation

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

Base package selection

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.

License

The Fermi framework is open-source software licensed under the MIT license.