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
Requires
- php: ^8.3
- dragonmantank/cron-expression: ^3.4
- intervention/image: ^3.11
- james-heinrich/getid3: ^1.9
- league/flysystem: ^3.30
- league/flysystem-local: ^3.30
- monolog/monolog: ^3.8
- nyholm/psr7: ^1.8
- nyholm/psr7-server: ^1.1
- phpdocumentor/reflection-docblock: ^6.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.1
- psr/http-server-middleware: ^1.0
- psr/simple-cache: ^3.0
- symfony/console: ^7.4
- symfony/finder: ^7.4
- symfony/http-client: ^7.4
- symfony/http-foundation: ^7.4
- symfony/lock: ^7.4
- symfony/mailer: ^7.4
- symfony/mime: ^7.4
- symfony/process: ^7.4
- symfony/psr-http-message-bridge: ^7.4
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- league/flysystem-memory: ^3.29
- phpstan/phpstan: ^1.0
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-strict-rules: ^1.0
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^3.6
- symfony/var-dumper: ^7.3
Suggests
- elasticsearch/elasticsearch: Required for Elasticsearch search adapter (^8.0)
- fakerphp/faker: Required for database factories and seeders (^1.23)
- meilisearch/meilisearch-php: Required for Meilisearch search adapter (^1.0)
- dev-main
- v1.29.0
- v1.28.3
- v1.28.2
- v1.28.1
- v1.28.0
- v1.27.0
- v1.26.0
- v1.25.0
- v1.24.0
- v1.23.0
- v1.22.0
- v1.21.0
- v1.20.0
- v1.19.2
- v1.19.1
- v1.19.0
- v1.18.0
- v1.17.0
- v1.15.0
- v1.14.0
- v1.13.0
- v1.12.0
- v1.11.0
- v1.10.0
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.1
- v1.8.0
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.0
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- dev-dev
- dev-feature/search-filtering-dsl
- dev-feature/webhooks-system
- dev-feature/rate-limiting-enhancements
- dev-feature/realtime-dev-server
- dev-feature/interactive-cli-wizards
- dev-feature/enhanced-scaffold-commands
- dev-feature/database-factories-seeders
- dev-feature/api-resource-transformers
- dev-feature/orm-active-record
- dev-feature/request-validation
- dev-feature/exception-handler
This package is auto-updated.
Last update: 2026-02-07 14:39:24 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
- Getting started guide: https://glueful.com/getting-started
- New to Glueful? Begin with:
- Prefer a pre‑scaffolded app? Use the API skeleton (see below).
Documentation
- Official docs website: https://glueful.com (mirror: https://glueful.dev)
- Changelog:
CHANGELOG.md - Roadmap:
ROADMAP.md - Breaking changes process:
BREAKING_CHANGE_PROCESS.md
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=trueto 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.