glueful/framework

Glueful API Framework - High-performance PHP API framework

Fund package maintenance!
glueful

Installs: 52

Dependents: 7

Suggesters: 0

Security: 0

Stars: 2

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/glueful/framework

v1.29.0 2026-02-07 14:33 UTC

README

High‑performance PHP API framework components for building secure, scalable backends. This repository contains the framework runtime (router, DI, HTTP, caching, security, queues, etc.). For a ready‑to‑use application skeleton, see the API skeleton link below.

Requirements

  • PHP 8.3+
  • Composer 2+

Installation

Install as a library into your application:

composer require glueful/framework

If you want a pre‑scaffolded app, use the API skeleton instead (recommended to get started quickly).

Quick Start (framework usage)

Bootstrap and handle a request:

<?php
declare(strict_types=1);

use Glueful\Framework;
use Symfony\Component\HttpFoundation\Request;

require __DIR__ . '/vendor/autoload.php';

$framework = Framework::create(__DIR__)
    ->withConfigDir(__DIR__ . '/config')
    ->withEnvironment($_ENV['APP_ENV'] ?? 'development');

$app = $framework->boot();

// Define a quick route (see cookbook for best practices)
$router = $app->getContainer()->get(Glueful\Routing\Router::class);
$router->get('/ping', fn() => new Glueful\Http\Response(['ok' => true]));

$request = Request::createFromGlobals();
$response = $app->handle($request);
$response->send();
$app->terminate($request, $response);

Getting Started

Documentation

Highlights

  • High-Performance Router: O(1) static route lookup, dynamic route bucketing, attribute-based routing, middleware pipeline
  • Dependency Injection: Symfony Container with service providers, lazy services, ApplicationContext injection
  • Authentication: JWT, LDAP, SAML SSO, API keys with session analytics
  • Encryption: AES-256-GCM authenticated encryption with key rotation support
  • File Uploads: Blob storage with visibility controls, signed URLs, thumbnail generation, media metadata
  • Caching: Multi-driver support (Redis/Memcached/File) with tagging and distributed caching
  • Queue System: Job processing with Redis/Database backends, auto-scaling workers
  • Security: Enhanced rate limiting, CSRF protection, security headers, lockdown mode
  • Database: Query builder, migrations, connection pooling (MySQL, PostgreSQL, SQLite)
  • Extensions: Modular extension system with lifecycle management
  • CLI Tools: Comprehensive scaffold commands, migrations, cache management

Deployment Notes

  • For long-running servers (RoadRunner, Swoole, FrankenPHP), set APP_LONG_RUNNING=true to enable worker-safe lifecycle handling.
  • If your deploy process preserves file mtimes and you see stale routing, clear the route cache as part of deploy:
    • php glueful route:cache:clear

API Skeleton (recommended to start)

For a ready‑to‑run project scaffold, use the API skeleton and follow its README. It wires this framework, public entrypoints, config, and examples:

Quick start:

composer create-project glueful/api-skeleton my-app
cd my-app
php glueful serve

Contributing

Contributions are welcome. Please open issues or PRs. For larger proposals, consider starting with a discussion referencing the implementation plans in docs/implementation_plans/.

License

MIT — see LICENSE.