canaltp/mtt-bundle is a niche Laravel bundle designed for public transportation timetable generation (PDF/CSV exports, calendar management, and stop-point displays). It aligns well with systems requiring structured timetable visualization (e.g., bus/tram schedules, stop signage, or digital displays).canaltp/sam-* bundles (e.g., sam-monitoring-bundle) may limit flexibility in non-CanalTP ecosystems.symfony/http-foundation, symfony/routing) allows partial adoption, but Doctrine ORM (used heavily) requires laravel-doctrine/orm or manual shimming.Symfony\DependencyInjection facade or a custom bridge./timetable/export) may conflict with Laravel’s router; prefixing or middleware isolation will be needed.Calendar, StopPoint, Network). Migrating to Laravel’s Eloquent would require schema mapping or a dual-layer abstraction.ON DELETE CASCADE) may need adjustment for Laravel’s migrations.twig/laravel bridge, but CSS/JS dependencies (e.g., GTM, jQuery) may need modernization.dompdf/wkhtmltopdf) is likely compatible, but A3/A4/A5 support may require custom CSS tweaks.| Risk Area | Severity | Mitigation |
|---|---|---|
| Deprecated Dependencies | High | Replace twig/1.x, php-amqplib, and Symfony 3.x components with modern alternatives. |
| Doctrine vs. Eloquent | Medium | Abstract ORM layer or use a data mapper pattern to decouple. |
| Symfony DI in Laravel | Medium | Leverage symfony/dependency-injection facade or rewrite services as Laravel providers. |
| Legacy Code Quality | Low | Test coverage is JDR-based (likely PHPUnit); expect edge-case bugs in PDF/CSV exports. |
| License (AGPL-3.0) | High | AGPL is viral; ensure compliance if bundling in proprietary software. |
| No Active Maintenance | High | Last release in 2021; fork or patch critical issues (e.g., Twig 2 compatibility). |
barryvdh/laravel-dompdf) suffice?Core Laravel Compatibility:
laravel-doctrine/orm) or Eloquent with mapped entities.twig/laravel bridge).barryvdh/laravel-dompdf (replaces bundle’s PDF logic).laravel-queue (replaces AMQP; use sync driver for simplicity).HttpKernel).supervisord (replaced with Laravel’s queue workers).Alternatives:
spatie/laravel-pdf, custom CSV exporters) to avoid bundle bloat.canaltp/sam-monitoring-bundle) for Laravel compatibility.twig/1.x → twig/3.x + twig/laravel.php-amqplib → php-enqueue/amqp-ext or Laravel queues.symfony/dependency-injection facade.laravel-doctrine/orm).Calendar, StopPoint entities).twig/laravel for hybrid rendering.dompdf for PDFs and Laravel’s excel for CSVs.| Component | Laravel Equivalent | Notes |
|---|---|---|
| Symfony DI | Laravel Service Providers | Use bind() in AppServiceProvider or symfony/dependency-injection. |
| Doctrine ORM | Eloquent or laravel-doctrine/orm |
Prefer Eloquent for simplicity unless Doctrine features are critical. |
| Twig 1.x | Twig 3.x + twig/laravel |
Update templates to Twig 3 syntax. |
| AMQP | Laravel Queues (sync/database) |
Drop AMQP unless real-time updates are mandatory. |
| Symfony Routing | Laravel Routing | Prefix routes (e.g., /timetable/*) to avoid conflicts. |
| Supervisord | Laravel Queue Workers | Use php artisan queue:work. |
supervisord).How can I help you explore Laravel packages today?