ezsystems/ezplatform-rest
Adds a REST remote API to Ibexa DXP and Ibexa Open Source, enabling external clients to interact with Ibexa content and services. Includes official REST API reference and documentation links for usage and endpoints.
ezsystems/ezplatform-rest package is a native Laravel-compatible bundle for Ibexa DXP/Open Source, enabling RESTful API access to content, locations, and media. It aligns well with decoupled architectures (e.g., SPAs, mobile apps, or microservices) where Laravel serves as a backend CMS.HttpFoundation, DependencyInjection), it integrates seamlessly with Laravel via Symfony Bridge or standalone bundles like spatie/laravel-symfony-support. Key dependencies (e.g., Symfony 5.3+) may require Laravel 8.50+ or custom shimming./content, /locations, /languages) with HATEOAS support, reducing frontend-backend coupling. Leverages JWT/OAuth2 for authentication (via Ibexa’s security layer).overblog/graphql-bundle).Route::prefix('api')->group()).ContentUpdateEvent) may require custom Laravel event listeners or queue workers for async processing.doctrine/dbal)./user/login) conflicts with Laravel’s token-based auth (Sanctum/Passport). Mitigation: Use API gateways (e.g., Kong) or custom middleware to bridge auth systems.Storage::disk()) may need adaptation for Ibexa’s binary storage.| Risk Area | Severity | Mitigation |
|---|---|---|
| Symfony Dependency Version | High | Test compatibility with Laravel’s Symfony components (e.g., symfony/http-foundation). |
| Auth System Conflict | Medium | Implement custom auth middleware or use OAuth2 proxies. |
| Event System Gaps | Medium | Use Laravel Queues to handle Ibexa events asynchronously. |
| Performance Overhead | Low | Optimize with caching (e.g., symfony/cache) and pagination. |
| License Compliance | High | Ensure compliance with Ibexa BUL (for DXP) or GPLv2 (for Open Source). |
Route::apiResource() for REST endpoints, mapping to Ibexa’s controllers.Authenticate middleware.CreateContentRequest).spatie/laravel-symfony-support to resolve Symfony dependencies.Container with Laravel’s Service Provider./user/login via Laravel middleware.league/oauth2-server) with Ibexa as a resource./content).| Component | Compatibility Notes |
|---|---|
| Laravel Version | Tested with Laravel 8.50+ (Symfony 5.3+). Use laravel/framework shimming if needed. |
| PHP Version | Requires PHP 8.0+ (PHP 8.2+ for string interpolation fixes). |
| Database | Supports MySQL, PostgreSQL, SQLite (via Doctrine). |
| Caching | Works with Redis, APCu, or Symfony Cache. |
| Search | Uses Ibexa’s search engine (Elasticsearch/Solr). Could integrate with Scout. |
| Media Handling | Supports image variations but may need Laravel Vapor/Spatie Media Library for cloud storage. |
config/app.php.How can I help you explore Laravel packages today?