fluffydiscord/rapira-symfony-bundle
A Symfony bundle that simplifies Rapira integration with autoconfiguration, dependency injection service wiring, and convenient client services. Install via Composer, configure your credentials, and start building Rapira-powered features quickly.
worker.php removed in favour of a Symfony Runtime class plus a standard public/index.php).public/index.php) now serves both FPM and worker modes. That unlocks a real de-risking pattern: ship the same build, canary the worker mode behind a traffic slice, and keep FPM as the fallback without maintaining two bootstrap paths.kernel.terminate listeners makes virus scanning, image transcoding, and object-storage offload viable without holding the response.rapira/contract ^0.9.1 removes the minimum-stability: dev escape hatch. That is a governance unlock: production dependency sets, automated update bots, and security-patch SLAs generally cannot tolerate a dev-stability floor.Adoption cost to budget for: 0.1.x → 0.2.x is a breaking operational change, not a drop-in. It requires setting extra.runtime.class in Composer, re-dumping autoload, and migrating rapira.toml from [pool]/worker.php to [http.pool]/public/index.php. Small in absolute terms, but it lands on whoever owns deploy config, and it is the second config-shifting release in a 0.x line.
Consider it when:
rapira/contract ^0.9.1 and this bundle) in lockstep.Look elsewhere when:
For executives (one paragraph): This release turns a promising runtime integration into something we can responsibly put in front of production traffic. The headline is not a feature — it is maturity: stable dependencies (so it fits our supply-chain and patch policies), proper isolation between requests (sessions and stray output no longer bleed across users), database connections that survive a worker being recycled, and request parsing that matches PHP-FPM closely enough that we no longer need a separate QA and support story for worker mode. Practically, it also collapses two deployment shapes into one entrypoint, which means we can trial worker mode on a slice of traffic and fall back to FPM with the same build if numbers disappoint. The cost is a small, well-documented config migration and an ongoing commitment to track a pre-1.0 dependency.
For engineering: The bespoke surface is gone — no vendored worker.php, no minimum-stability: dev. You register a Runtime class via Composer, point rapira.toml at public/index.php, and the same file serves both modes. That means one bootstrap to reason about, one artifact to build, and one place to debug. In exchange, expect to own worker-mode hygiene explicitly: memory growth, graceful reload, and validating that third-party packages do not carry request state across requests. The PHP 8.4 dispatcher fix removes a blocker if 8.4 is on your upgrade path.
Risk framing to state up front: this is a 0.x package that just required a breaking configuration migration. Treat v0.2.x as production-capable but not yet production-promised: canary it, keep FPM as the fallback (which the single-entrypoint design makes cheap), pin both rapira/contract and the bundle, and re-evaluate the integration's maturity at the next minor.
How can I help you explore Laravel packages today?