oveleon/product-installer
Laravel package to install products/modules via a simple installer workflow. Helps automate setup steps like publishing assets, running migrations, and seeding data, so new product features can be added and deployed with minimal manual effort.
\Contao\CoreBundle\Api) could serve as a bridge for Laravel integrations, reducing the need for custom adapters.EventDispatcher system, which could be mapped to Laravel’s event system more cleanly than the legacy hook system.Http::get('contao/api/content')).EventDispatcher in a Laravel service to sync events (e.g., Contao’s ContentPublished → Laravel’s content.published).artisan for a unified CLI (e.g., php artisan contao:install).| Risk Area | Contao 5.5 Context | Laravel Context | Mitigation (Updated) |
|---|---|---|---|
| Dependency Conflicts | Low (native Contao 5.5 integration) | Medium (API layer may reduce conflicts) | Use Composer’s conflict rules or Laravel’s replace. |
| API Stability | Medium (new API layer in 5.5) | High (Laravel’s evolving ecosystem) | Pin Contao API versions in composer.json. |
| Maintenance Overhead | Low (official Contao extension) | Medium (API wrappers needed) | Abstract Contao API calls into Laravel services. |
| Performance Impact | Negligible (optimized for Contao 5.5) | Low (API calls add latency) | Cache API responses in Laravel’s cache layer. |
| Security Risks | AGPL-3.0 compliance required | AGPL may conflict with Laravel’s MIT | Isolate Contao code in a micro-service or private repo. |
| Breaking Changes | New in 1.1.1: C5.5-only features | Laravel <8.1 may lack PHP 8.1+ features | Upgrade PHP/Laravel to 8.1+ for Contao 5.5 support. |
EventDispatcher.EventDispatcher + Laravel’s queue system for async processing.| Component | Contao 5.5 Fit | Laravel Fit | Workaround Needed? |
|---|---|---|---|
| Installation | Native (Composer + Contao CLI) | Improved: Use artisan contao:install |
Partial (CLI wrapper) |
| Updates | Contao’s modular update system | Laravel’s composer update |
Yes (sync update hooks) |
| Database Migrations | Contao’s API-driven schema | Laravel Migrations (artisan migrate) |
Shared migrations via Doctrine DBAL |
| Configuration | Contao’s config.yaml (5.5) |
Laravel’s .env + config/ |
Merge configs via Laravel’s mergeConfigFrom. |
| Dependency Mgmt | Contao’s composer.json (5.5) |
Laravel’s composer.json |
Use replace for Contao packages. |
| Event System | Contao’s EventDispatcher |
Laravel Events (Event::dispatch) |
Map Contao events → Laravel events. |
| API Layer | New in 5.5: RESTful endpoints | Laravel’s HTTP client | Direct API integration (lowest friction) |
$content = Http::withHeaders(['Authorization' => 'Bearer ' . config('contao.api_token')])
->get('contao/api/content/123');
Artisan command.EventDispatcher:
// app/Providers/ContaoEventServiceProvider.php
public function boot()
{
ContaoEvent::on('content.published', function ($event) {
event(new \App\Events\ContentPublished($event->getContent()));
});
}
contao/core-bundle may conflict with Laravel’s illuminate/*.conflict or isolate Contao in a sub-vendor directory.composer.json:
"require": {
"contao/core-bundle": "^5.5.0"
}
How can I help you explore Laravel packages today?