FyreFramework is a modular PHP framework package for HTTP apps, CLI tools, data access, views, caching, queues, and more.
This repository contains the fyre/framework package. Install it into your application with Composer and use the pieces you need, or build on the default Engine runtime when you want the framework's common services wired together.
Fyre keeps the framework split into focused subsystems, so you can adopt one piece at a time or use them together in a conventional application stack.
Common use cases include:
- Building web applications with PSR-7 requests, responses, middleware, and routing
- Working with SQL databases through the query layer and ORM
- Rendering templates and forms on the server
- Running background work with queues and workers
- Adding shared services such as caching, logging, mail, events, and validation
- PHP >= 8.5
- Required PHP extensions:
intl,mbstring - For database connections:
ext-pdoplus the matching PDO driver such aspdo_mysql,pdo_pgsql, orpdo_sqlite
Optional (depending on the parts you use):
ext-curl(HTTP client requests)ext-memcached(Memcached cache)ext-openssl(OpenSSL encryption handler)ext-pcntl(queue workers and async promises)ext-redis(Redis cache and queue handlers)
Fyre has no third-party runtime dependencies beyond PSR interfaces (psr/*).
Install the package with Composer:
composer require fyre/frameworkA common starting point is to extend Fyre\Core\Engine, register the application instance, and add your middleware, routes, and other app services around it.
use Fyre\Core\Engine;
use Fyre\Core\Loader;
use Fyre\Http\MiddlewareQueue;
final class Application extends Engine
{
public function middleware(MiddlewareQueue $queue): MiddlewareQueue
{
return $queue
->add('error')
->add('router')
->add('bindings');
}
}
$loader = (new Loader())
->loadComposer('vendor/autoload.php')
->register();
$app = new Application($loader);
Application::setInstance($app);Your application repository decides the entry points, bootstrap flow, and project layout around this package.
For a fuller walkthrough, start with Core, then Engine.
Start with the documentation index, or jump to the area you need:
- Core services: Core -> Container -> Engine
- HTTP applications: HTTP -> Routing
- Data and persistence: Database -> ORM
- Auth and security: Auth -> Security
- Shared services: Events -> Logging -> Mail -> Cache -> Queue
- Rendering and forms: View -> Form
- Tooling and tests: Console -> Testing -> Utilities
Install dev dependencies and run the main checks:
composer install
composer cs
composer phpstan
composer phpstan-tests
composer test:coreIntegration suites are available for services defined in docker-compose.yml:
docker compose up -d mysql
composer test:mysqlAvailable service-backed suites include mariadb, mysql, postgres, redis, memcached, and smtp.
FyreFramework is released under the MIT License.