fyre/framework

FyrePHP framework for MVC web apps with PSR-compliant HTTP, routing, ORM, cache, queue, and CLI tooling.

Maintainers

Package info

github.com/fyrephp/framework

pkg:composer/fyre/framework

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-09-02 14:13 UTC

This package is auto-updated.

Last update: 2026-09-02 14:13:54 UTC


README

CI Codecov Packagist Version Packagist Downloads GitHub License

Use FyreFramework to build HTTP applications and CLI tools with routing, ORM, views, caching, queues, and other focused components.

Install the fyre/framework package and use individual subsystems as needed, or extend Engine when you want the framework's common application services available by default.

Table of Contents

Start here

Requirements

  • PHP >= 8.5
  • Required PHP extensions: ext-intl, ext-mbstring, ext-sodium
  • For database connections: ext-pdo plus the matching PDO driver such as ext-pdo_mysql, ext-pdo_pgsql, or ext-pdo_sqlite

Optional (depending on the parts you use):

  • ext-curl (HTTP client requests)
  • ext-exif (EXIF orientation detection for image manipulation)
  • ext-gd (image manipulation)
  • ext-memcached (Memcached cache)
  • ext-openssl (OpenSSL encryption handler)
  • ext-pcntl (queue workers and async promises)
  • ext-posix (async promises)
  • ext-redis (Redis cache and queue handlers)
  • ext-sockets (async promises)

Fyre has no third-party runtime dependencies beyond PSR interfaces (psr/*).

Installation

Install the package with Composer:

composer require fyre/framework

Application bootstrap

A common bootstrap extends Fyre\Core\Engine, customizes the middleware queue, and shares the application instance with the framework helpers.

<?php
declare(strict_types=1);

use Fyre\Core\Engine;
use Fyre\Core\Loader;
use Fyre\Http\MiddlewareQueue;
use Override;

$composer = require __DIR__.'/vendor/autoload.php';

final class Application extends Engine
{
    #[Override]
    public function middleware(MiddlewareQueue $queue): MiddlewareQueue
    {
        return $queue
            ->add('error')
            ->add('router')
            ->add('bindings');
    }
}

$loader = new Loader()
    ->addClassMap($composer->getClassMap())
    ->addNamespaces($composer->getPrefixesPsr4())
    ->register();

$app = new Application($loader);
Application::setInstance($app);

return $app;

Your application repository defines its entry points, routes, configuration paths, and project layout around this package.

Continue with Engine, HTTP Middleware, and Routing.

Hello world

The Hello world application combines the bootstrap, route, HTTP request pipeline, response emitter, CLI entry point, and web-server rewrites into one copy-paste example.

Documentation

Start with Getting Started or browse the documentation index. You can also jump directly to the area you need:

Release and support

  • Changelog - user-visible changes, deprecations, and breaking changes
  • Security Policy - supported releases and private vulnerability reporting
  • API Stability - public API, internal symbols, and compatibility guarantees

Repository development

Install the repository's dev dependencies and run the baseline checks:

composer validate --strict
composer install
composer audit --no-interaction
composer cs
composer stan
composer stan:tests
composer test:core

Additional local suites cover SQLite and external runtime integrations:

composer test:sqlite
composer test:external

The SQLite suite requires ext-pdo and ext-pdo_sqlite. The external suite requires ext-curl and a google-chrome executable for PDF rendering.

Service-backed suites are available for dependencies defined in docker-compose.yml:

docker compose up -d mysql
composer test:mysql

Available service-backed suites include mariadb, mysql, postgres, redis, memcached, and smtp.

License

FyreFramework is released under the MIT License.