ezsystems/ezplatform-core
Core package of eZ Platform (Ibexa DXP) CMS for Symfony/PHP. Provides the content repository, domain services, persistence, and APIs that power content modeling, publishing workflows, and integration with the eZ Platform stack.
ezplatform-repository) vs. Laravel’s Eloquent/Query Builder.laravel-events).ezcontentobject tables vs. Laravel’s migrations).symfony/bridge or custom service providers could theoretically bridge DI containers, but this is complex and unsupported.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| DI Container Conflicts | High | Isolate eZ dependencies in a separate microservice or use API wrappers. |
| Database Schema Collisions | High | Avoid shared DB; use read replicas or CQRS patterns. |
| Event System Mismatch | Medium | Translate eZ events to Laravel via custom listeners or queue-based pub/sub. |
| Performance Overhead | Medium | Cache API responses (e.g., Laravel Cache + eZ’s HTTP cache). |
| Maintenance Burden | High | Dedicate cross-team ownership (Laravel + eZ devs). |
| Component | Laravel Fit | Integration Strategy |
|---|---|---|
| Content Management | Low | Use eZ as a headless CMS via API. |
| Authentication | Medium | Federate auth via OAuth2 (e.g., Laravel Passport + eZ’s OAuth). |
| Database | Low | No shared DB; use eZ’s PostgreSQL/MySQL separately. |
| Caching | High | Leverage Laravel Cache for eZ API responses. |
| Queues | Medium | Sync events via RabbitMQ/Redis (e.g., content publish → Laravel job). |
| Frontend | High | Laravel Blade/Vue/React consumes eZ’s GraphQL/REST API. |
guzzlehttp/guzzle or spatie/laravel-fractal for GraphQL).// Laravel Service to fetch eZ content
class EzContentService {
public function getContent(int $id) {
$client = new \GuzzleHttp\Client();
$response = $client->get("https://ez-platform/api/content/$id");
return json_decode($response->getBody(), true);
}
}
laravel-symfony-bridge).| Laravel Feature | eZ Platform Compatibility | Workaround |
|---|---|---|
| Eloquent ORM | ❌ No | Use API clients or raw SQL (if DB is shared). |
| Laravel Mix | ❌ No | Keep frontend assets separate. |
| Laravel Scout | ⚠️ Partial | Index eZ content in Algolia/Meilisearch and query via API. |
| Laravel Horizon | ⚠️ Partial | Offload queue workers to Symfony Messenger. |
| Blade Templating | ❌ No | Use eZ’s Twig or React/Vue for frontend. |
// services/EzContentService.php
class EzContentService {
public function __construct(private EzApiClient $client) {}
public function getBlogPosts() { ... }
}
cache()->remember() in Laravel).composer.json doesn’t conflict.vendor/ directories if hybrid approach is taken.How can I help you explore Laravel packages today?