FrontendBundle, CustomerBundle, AddressValidationBundle), aligning well with Laravel’s modularity and Symfony’s dependency injection. This enables incremental adoption without forcing a monolithic rewrite.HttpKernel, Form, Layout), it integrates seamlessly with Laravel via Symfony Bridge or standalone Symfony apps. Key dependencies (e.g., Doctrine ORM, Twig) are Laravel-compatible.frontend-api.use_absolute_urls) and layout blocks (e.g., dashboard_page_top), enabling customization without core modifications.CustomerUser entities (e.g., redirect_after_login config).HttpKernel decorators (e.g., StorefrontSessionHttpKernelDecorator) for session management. Laravel’s middleware can wrap these.CustomerAddress) map cleanly to Laravel Eloquent with minor adjustments (e.g., repository interfaces).$base-font) are modular; can be overridden via Laravel’s resources/sass or Symfony’s assets pipeline.twigbridge or custom Twig loader).ConvertProductSearchImageUrlsToAbsolute) can be adapted to Laravel’s API resources or Lighthouse.Mercure or Ratchet (if needed); Laravel’s beyondcode/laravel-websockets could integrate.HttpKernelDecorator) may require adapters or decorators to work in Laravel.validatedAt field) may need migrations to align with Laravel’s schema builder.CacheInterface) differs from Laravel’s Cache facade.FontAwesome removal) may require theme updates.spatie/laravel-permission for roles) that reduce dependency on this bundle?oro_frontend.content_provider tag suggests content customization may need deep integration.AddressValidationBundle) affect Laravel’s boot time or database queries?| Laravel Component | Oro Package Integration | Compatibility Notes |
|---|---|---|
| Authentication | CustomerBundle extends Laravel’s auth with CustomerUser entities. |
Use Laravel’s Auth::guard('customer') or extend Illuminate\Auth\UserProvider. |
| Routing | Symfony HttpKernel decorators (e.g., StorefrontSessionHttpKernelDecorator). |
Wrap in Laravel middleware or use kernel.handle() in routes. |
| Database | Doctrine ORM entities (e.g., CustomerAddress). |
Use laravel-doctrine/orm or write migrations to convert to Eloquent. |
| Frontend (Blade/Twig) | Twig templates with Symfony layout blocks. | Use twigbridge or create Blade-Twig adapters. |
| JavaScript | RequireJS/AMD modules (e.g., orofrontend/js/datagrid). |
Isolate in a micro-frontend or use Symfony Encore to merge with Vite. |
| API | REST API processors (e.g., ConvertProductSearchImageUrlsToAbsolute). |
Adapt to Laravel API Resources or Lighthouse GraphQL. |
| Caching | Symfony CacheInterface. |
Create a Laravel Cache adapter (e.g., Psr6CacheAdapter). |
| Events | Symfony events (e.g., frontend-api.use_absolute_urls). |
Use Laravel’s Events facade or bridge via symfony/event-dispatcher. |
| Queues/Jobs | Symfony Messenger or custom services. | Replace with Laravel Queues or wrap in a job. |
| Configuration | Symfony system_config (e.g., oro_customer.validate_shipping_addresses__my_account). |
Expose via Laravel Config or use spatie/laravel-config-array. |
Phase 1: Proof of Concept (PoC)
symfony/bridge.CustomerBundle) with minimal features (e.g., customer login).Phase 2: Core Integration
laravel-doctrine/orm.Phase 3: Optimization
HttpKernelDecorator) with Laravel equivalents.oro_frontend.content_provider).How can I help you explore Laravel packages today?