devim/symfony4-rpc-server-bundle
rectorphp/rpc) suffice.HttpKernel, DependencyInjection, and EventDispatcher components. Laravel’s equivalents (e.g., Illuminate\Contracts\Http\Kernel, Illuminate\Container) are not drop-in compatible.RequestContext and Router are tightly coupled with the bundle. Laravel’s Illuminate\Routing\Router and middleware pipeline would require custom adapters or a wrapper layer.spatie/laravel-json-rpc instead.RequestContext → Laravel’s Request).Events system.Container.rectorphp/rpc or php-grpc/php-grpc).spatie/laravel-json-rpc) that could replace this bundle?HttpKernel vs. Laravel’s Illuminate\Http\Request.EventDispatcher vs. Laravel’s Events facade.DependencyInjection vs. Laravel’s Container.spatie/laravel-json-rpc).Gate/Policy or middleware.HttpException would map to Laravel’s HttpResponse or ProblemDetails.| Phase | Task | Tools/Libraries |
|---|---|---|
| Discovery | Document all RPC endpoints and their consumers. | Postman, Laravel Tinker |
| Design | Define Laravel-native alternatives (REST, queues, or events). | Laravel API Resources, Horizon (queues) |
| Development | Implement 1-2 RPC endpoints as Laravel routes/queues. | Laravel, spatie/laravel-json-rpc |
| Testing | Validate consumer compatibility (e.g., mobile apps, internal services). | Pest, PHPUnit, API testing tools |
| Deployment | Roll out new endpoints alongside old ones (canary release). | Laravel Forge, Envoyer |
| Deprecation | Phase out Symfony RPC bundle; update documentation. | GitHub Issues, CHANGELOG |
spatie/laravel-json-rpc is actively maintained and Laravel-specific.| Risk | Mitigation Strategy |
|---|---|
| Symfony RPC Outages | Implement circuit breakers (e.g., Laravel’s Spatie\CircuitBreaker). |
| Protocol Mismatch | Use API versioning to gradually transition consumers to Laravel endpoints. |
| Dependency Vulnerabilities | Pin Symfony dependencies to specific versions and monitor for CVEs. |
| Consumer Breaking Changes | Maintain backward compatibility during migration (e.g., dual endpoints). |
| Team Burnout | Prioritize Laravel-native solutions to reduce technical debt. |
How can I help you explore Laravel packages today?