spiral/framework
Spiral Framework is a high-performance, long-running full-stack PHP framework built for RoadRunner. PSR-compliant components, resident memory kernel, and native support for queues, GRPC, WebSockets, and background workers.
php-fpm).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| ORM Migration | High | Use Cycle ORM’s Eloquent-like facade or write adapters. |
| Service Container | Medium | Leverage PSR-11 interfaces for shared dependencies. |
| Middleware/Routing | Low | Spiral’s PSR-15 middleware is compatible with Laravel’s. |
| Artisan Commands | Medium | Rewrite or use Spiral’s console system. |
| Third-Party Packages | High | Audit for Laravel-specific dependencies (e.g., Scout, Cashier). |
| Performance Gains | Low | Benchmark RoadRunner vs. Laravel’s server. |
| Component | Laravel Equivalent | Spiral Alternative | Compatibility Notes |
|---|---|---|---|
| HTTP Server | PHP-FPM / Swoole | RoadRunner (PHP/Go) | High (RoadRunner supports HTTP/2, FastCGI). |
| Routing | Laravel Router | Spiral Router (PSR-15) | High (PSR-15 middleware interoperable). |
| Middleware | Laravel Middleware | PSR-15 Middleware | High (direct replacement). |
| ORM | Eloquent | Cycle ORM | Low (requires migration or adapters). |
| Queues | Laravel Queues | Spiral Queue (AMQP, SQS, etc.) | High (same drivers, but different API). |
| Logging | Monolog | Monolog Bridge | High (configurable via MONOLOG_FORMAT). |
| Authentication | Laravel Auth | Spiral Auth (RBAC, JWT, etc.) | Medium (different middleware stack). |
| CLI | Artisan | Spiral Console | Medium (rewrite commands). |
| Caching | Laravel Cache | PSR-16 Cache | High (same interfaces). |
| Events | Laravel Events | Spiral Events (PSR-14) | High (PSR-14 compatible). |
composer require spiral/framework spiral/roadrunner-bridge
roadrunner.yaml and update server.php to use Spiral’s kernel.Illuminate\Queue\QueueManager with Spiral\Queue\QueueManager.Spiral\Queue\JobInterface.$container->bindSingleton(\Illuminate\Contracts\Container::class, fn() => $laravelContainer);
How can I help you explore Laravel packages today?