- Can I use Ibexa HTTP Cache directly in a Laravel project without Ibexa DXP?
- No, this package is tightly coupled with Ibexa DXP’s Symfony architecture (SiteAccess, ContentService). For Laravel, you’d need to proxy requests via an API layer (e.g., Symfony HTTP Client) or abstract caching logic into a micro-service. Direct integration isn’t supported.
- What Laravel versions and PHP requirements does this package support?
- This package requires **Symfony 7.4+** and **PHP 8.3+**, which may conflict with Laravel 10+ stacks unless isolated via an API or containerized environment. Laravel’s routing/middleware systems differ fundamentally from Symfony’s, so no native Laravel compatibility exists.
- How do I configure Varnish with Ibexa HTTP Cache in a Laravel setup?
- The package includes Ibexa-specific VCL configurations (e.g., `ibexa-` prefixed cookies, SiteAccess logic). For Laravel, you’d need to rewrite these rules manually or use a CDN-agnostic layer like `laravel-varnish`. Cloudflare/Fastly would require custom VCL adjustments, as the package is Varnish-centric.
- Does this package support multi-language cache invalidation in Laravel?
- Yes, but only within Ibexa DXP’s ecosystem. For Laravel, you’d need to sync invalidation events (e.g., via Redis pub/sub) between Ibexa’s cache and Laravel’s `Cache::forget()`. The package’s translation-aware invalidation relies on Ibexa’s `SiteAccess` system, which isn’t Laravel-native.
- Are there Laravel alternatives to Ibexa HTTP Cache for Varnish/Cloudflare?
- For Laravel, consider `spatie/laravel-cache` (for application-level caching) or `laravel-varnish` (for Varnish integration). For CDNs like Cloudflare, use their Laravel SDKs (e.g., `cloudflare/cloudflare-php`). These avoid Symfony dependencies entirely and integrate natively with Laravel’s routing.
- How can I test Ibexa HTTP Cache in a Laravel environment?
- Since direct integration isn’t possible, mock Ibexa’s API responses in Laravel using `Mockery` or `VCR` (for HTTP recordings). Test cache invalidation by triggering Ibexa’s events via a proxy (e.g., Symfony HTTP Client) and verifying Laravel’s cache responses. Use Docker to isolate Symfony/PHP 8.3+ dependencies.
- What’s the best way to handle cache invalidation between Ibexa and Laravel?
- Implement a pub/sub system (e.g., Redis) to broadcast cache invalidation events from Ibexa to Laravel. For example, Ibexa could publish `cache:invalidated` events, and Laravel could listen via a queue worker. Alternatively, use webhooks if Ibexa supports them, but this requires custom development.
- Does Ibexa HTTP Cache work with Laravel’s built-in cache (Redis/Memcached)?
- No, this package is designed for HTTP-level caching (Varnish) and Ibexa’s content repository. For Laravel’s application cache (Redis/Memcached), use `Cache::remember()` or `spatie/laravel-cache`. Hybrid setups are possible but require manual synchronization of invalidation logic between both layers.
- What are the licensing implications of using Ibexa HTTP Cache in Laravel?
- The package is dual-licensed under **Ibexa BUL** (requires a paid Ibexa DXP subscription) **OR** **GPL-2.0** (with no warranty). If you’re not using Ibexa DXP, GPL-2.0 may be problematic for proprietary Laravel projects. Consult a lawyer to ensure compliance with your stack’s licensing (e.g., MIT/Laravel’s permissive licenses).
- How can I integrate Ibexa HTTP Cache with Laravel’s middleware or service providers?
- You cannot directly integrate this package into Laravel’s middleware or service providers due to Symfony dependencies. Instead, create a Laravel service provider that proxies requests to Ibexa via `symfony/http-client`. Use PSR-15 middleware to intercept Ibexa-specific routes and delegate caching logic to the proxy.