caseboxdev/rpc-bundle
Symfony 3 bundle for integrating Casebox with CMF and ExtJS RPC services. Provides RPC controllers, service integration, and centralized exception handling to connect your Symfony app to Casebox RPC endpoints.
Symfony CMF Alignment: The bundle is explicitly designed for Symfony3 CMF (Content Management Framework), which may not align with modern Symfony (6.x/7.x) architectures unless backward compatibility is maintained. Key considerations:
Laravel Compatibility:
spatie/laravel-cms for content management).Illuminate\Routing) and service container.Core Features:
Route::rpc() or middleware to handle RPC requests).cmf_* services) would need rewrites.App\Exceptions\Handler).Challenges:
cmf_routing or cmf_workflow would need Laravel alternatives or manual implementation.Laravel Compatibility:
ContainerInterface with Laravel’s Illuminate\Container\Container.cmf_routing with Laravel’s Route::group() or middleware.Recommended Stack Adjustments:
| Symfony Component | Laravel Equivalent | Notes |
|---|---|---|
| Symfony CMF | Spatie Laravel CMS | Partial feature overlap |
| Doctrine ORM | Eloquent | Query builder adjustments needed |
| Symfony Routing | Laravel Routing | RPC endpoints must be manually mapped |
| ExtJS RPC | Custom JSON-RPC or GraphQL | Frontend rewrite likely required |
Phase 1: Dependency Extraction (2–4 weeks)
casebox-rpc-core).Illuminate\Support\Facades\Auth instead of Symfony’s security component).// Original (Symfony)
$user = $this->get('security.token_storage')->getToken()->getUser();
// Laravel Equivalent
$user = auth()->user();
Phase 2: Controller/Service Porting (3–6 weeks)
Illuminate\Routing\Controller.cmf_* services with Laravel services (e.g., App\Services\CaseboxService).// Laravel RPC Controller
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class CaseboxRpcController extends Controller {
public function handleRpc(Request $request) {
$data = json_decode($request->getContent(), true);
// Process RPC call...
return response()->json(['result' => $processedData]);
}
}
Phase 3: Frontend Integration (4–8 weeks)
api/rpc, Laravel routes to CaseboxRpcController.Phase 4: Testing and Optimization (2–3 weeks)
Illuminate\Cache) and queue systems (e.g., Illuminate\Queue).EventDispatcherInterface) differs from Laravel’s Illuminate\Events\Dispatcher.{
"jsonrpc": "2.0",
"method": "casebox.getCase",
"params": { "id": 123 },
"id": 1
}
How can I help you explore Laravel packages today?