code-rhapsodie/dataflow-bundle
Symfony bundle for building import/export dataflows: one reader, ordered processing steps (sync/async), and one or more writers. Includes CLI tools and scheduling for jobs, status/result reporting, and support for multiple Doctrine DBAL connections.
Strengths:
DataflowTypeInterface, WriterInterface) and abstract base classes (AbstractDataflowType). Encourages domain-specific implementations.Weaknesses:
Laravel Compatibility:
coderhapsodie.dataflow.type) won’t work natively. Requires manual service registration or a Laravel-specific adapter.illuminate/database + doctrine/dbal).bin/console commands won’t work. Would need Laravel Artisan command wrappers.DataflowBuilder, Reader/Writer/Step interfaces) without Symfony dependencies.Logger, OptionsResolver) with Laravel equivalents.Key Integration Points:
| Symfony Feature | Laravel Equivalent | Notes |
|---|---|---|
bin/console |
Artisan commands | Rewrite CLI commands for Laravel. |
| Symfony Messenger | Laravel Queues | Custom async adapter needed. |
| Doctrine DBAL | Eloquent/Query Builder or PDO | Use raw SQL or DBAL wrapper. |
OptionsResolver |
Laravel’s Validator or custom |
Replace with Laravel’s Request or Config. |
| Tagged Services | Laravel Service Providers | Register services manually. |
KernelTestCase). Laravel’s testing stack (PHPUnit + Pest) would need adapters.DataflowTypeInterface, WriterInterface) to build a Laravel-compatible wrapper.OptionsResolver → Laravel Request, Logger → Monolog).DataflowBuilder + custom readers/writers.laravel-dataflow)?spatie/laravel-data-import, laravel-excel, queue-based workers.league/csv, reactphp, symfony/serializer.Laravel Compatibility Matrix:
| Bundle Feature | Laravel Equivalent | Feasibility |
|---|---|---|
| Symfony DI Container | Laravel Service Container | Medium (manual reg) |
| Doctrine DBAL | Eloquent/Query Builder | High (with PDO) |
| Messenger (Async) | Laravel Queues | Medium (custom) |
bin/console Commands |
Artisan Commands | High |
| OptionsResolver | Laravel Request/Config | High |
| Tagged Services | Service Providers | High |
Recommended Stack:
DataflowTypeInterface, WriterInterface) to build Laravel-compatible components.Phase 1: Proof of Concept (2–4 weeks)
DataflowType (e.g., CSV import → transform → export).OptionsResolver with Laravel’s Request or Config.Phase 2: Async Support (3–5 weeks)
HandleDataflowStepJob).Phase 3: Full Feature Parity (4–6 weeks)
dataflow:run, dataflow:schedule).AbstractDataflowType) as templates for Laravel implementations.PortWriterAdapter).ContainerInterface).Kernel or HttpFoundation.How can I help you explore Laravel packages today?