FormActionEvent, ContentUpdateEvent). Laravel’s event system is similar but not identical, requiring custom event listeners or facades for compatibility.ezimage, relation). Laravel apps would need to map these to native Laravel/Doctrine fields or use Ibexa’s API layer.ibexa_content, ibexa_user). Laravel would need to either:
/content/edit) may clash with Laravel’s. Route prefixing or subdomain isolation could mitigate this.ezimage) requires custom Laravel validators.spatie/laravel-medialibrary, filament/forms) that reduce dependency on Ibexa?FormBuilder, EventDispatcher). Laravel’s Form support is minimal (primarily via third-party packages like laravelcollective/html)./content/edit as a Laravel route).| Component | Laravel Equivalent/Alternative | Integration Notes |
|---|---|---|
| Symfony Forms | Livewire/Inertia + Filament Forms | Use for frontend; call Ibexa API for backend logic. |
| Ibexa Repository | Eloquent + Custom Repositories | Map Ibexa’s Content to Laravel models. |
| Symfony Events | Laravel Events + Listeners | Create adapters for FormActionEvent. |
| Twig Templates | Blade/Livewire Views | Style forms in Laravel; logic remains in Ibexa. |
| Ibexa Field Types | Custom Laravel Validators | Example: Convert ezimage to VitePilot\Image. |
Phase 1: API-First Integration (Low Risk)
$response = Http::post('http://ibexa-api/content/edit', [
'contentId' => 123,
'fields' => ['title' => 'New Title']
]);
Phase 2: Hybrid Integration (Medium Risk)
Laravel (Frontend) → Lumen (Symfony Bridge) → Ibexa (Forms/Repository)
Phase 3: Deep Integration (High Risk)
FormActionEvent to Laravel events.ContentForm.symfony/form, symfony/event-dispatcher, symfony/validator.composer require symfony/form symfony/event-dispatcher
ezcontentobject, ezcontentobject_attribute) won’t work directly with Eloquent.league/oauth2-server).UserForm).Auth::user() updates with Ibexa’s form logic.ContentService to a facade.How can I help you explore Laravel packages today?