ibexa/rector
Rector rule sets for upgrading Ibexa DXP projects between versions. Install as a dev dependency, add an ibexa set (e.g., IBEXA_50) to rector.php, and run Rector to automatically refactor code for the target Ibexa release.
ibexa/laravel-bundle) makes this package relevant for hybrid stacks. The tool’s rules (e.g., RemoveLegacyClassAliasRector, RepositoryConfigurationProvider renames) align with Laravel’s dependency injection and service container patterns.ContentService to Laravel’s service container).ezplatform-admin-ui), which may conflict with Laravel’s service container if not properly namespaced. Rector’s rules (e.g., RemoveLegacyClassAliasRector) mitigate this.ezplatform bundles may clash with Laravel’s container. Rector’s rules for renaming services (e.g., RepositoryConfigurationProvider) can help align them.ezpublish:content:import) may need adaptation. Rector doesn’t handle this directly, but its rule sets can pre-process related PHP logic.ezpublish API calls). If the product uses custom Ibexa-Laravel bridges, missing rules may require manual fixes or custom Rector plugins.ezplatform bundles might interact unpredictably with Laravel’s Illuminate namespace. Example: ezplatform/admin_ui vs. laravel/framework.MagicPropertiesToGetters) may misfire on Laravel’s dynamic properties (e.g., Eloquent models).rector/rector’s --symfony-config to align versions.ibexa/laravel-bundle) or custom bridges?IBEXA_50 are version-specific.ezplatform bundles) before integrating with Laravel’s frontend.ibexa/laravel-bundle), Rector’s rules for service renaming (e.g., RepositoryConfigurationProvider) reduce conflicts.ezpublish API calls, ezplatform bundles).ibexa/rector in a dev environment:
composer require --dev ibexa/rector:^5.0
rector.php with target rule sets (e.g., IBEXA_50 for Ibexa 5.0):
return RectorConfig::configure()
->withPaths([__DIR__ . '/app/Ibexa', __DIR__ . '/config/ezplatform'])
->withSets([IbexaSetList::IBEXA_50])
->withParallel();
php rector process --dry-run
app/Ibexa, config/ezplatform).ezplatform services to Laravel’s container).ContentService to IbexaContentService for Laravel’s autowiring.| Component | Compatibility | Mitigation |
|---|---|---|
| PHP Version | Requires PHP 8.1+ (Ibexa 5.0+ and Laravel 9+) | Upgrade PHP if using older versions. |
| Symfony Version | Pins to Symfony 7.4 (may conflict with Laravel’s Symfony 7.2 in Laravel 10) | Use rector/rector’s --symfony-config to align versions. |
| Laravel Service Container | Ibexa’s ezplatform bundles may clash with Laravel’s container. |
Use Rector’s RemoveLegacyClassAliasRector to namespace Ibexa services. |
| Twig Integration | Ibexa’s Twig templates may use deprecated filters. | Apply Rector’s Twig-related rules to pre-process templates. |
| Database Migrations | Ibexa’s schema |
How can I help you explore Laravel packages today?