- Is idci/exporter-bundle a Laravel package?
- No. It is a Symfony2 bundle, not a Laravel package, so it will not install or run as a normal Composer dependency in a Laravel application. The practical value for Laravel teams is as a design reference for named exporters, pluggable format writers, and configurable export definitions.
- Can I install idci/exporter-bundle in Laravel with Composer?
- Not as a direct install. Its Symfony 2.x and older PHP constraints will not co-resolve with Laravel 9–11, which pull Symfony 6/7 components transitively. Using it would require a hard fork with rewritten constraints and a PHP 8.1+ compatibility pass.
- What export formats does idci/exporter-bundle support?
- The overview describes pluggable exporters and multiple output formats, but it does not provide a definitive format list. The technical assessment suggests CSV and Excel-style writing may be involved, possibly via PHPExcel, so confirm the actual writers in the repository before relying on any format.
- How does the exporter architecture work?
- A manager acts as the public entry point, with tagged exporter and format services registered through the Symfony DI container. A configuration tree defines export definitions, and per-format writers and normalizers handle the actual output. The transferable pattern is the exporter, writer, and normalizer triad rather than the Symfony wiring.
- Does idci/exporter-bundle support exporting Doctrine entities?
- Yes. The overview states that it can export Doctrine entities or custom data sources through configuration-driven export definitions. In a Laravel port, you would replace the Doctrine-specific parts with Eloquent queries or custom dataset providers.
- Is idci/exporter-bundle maintained and production-ready?
- It is a Symfony2-era bundle, and Symfony 2.x has been end-of-life since 2018. The assessment also notes very low adoption, no evidence of a test suite, and likely abandoned transitive dependencies. It should not be treated as production-ready for a modern Laravel application.
- How should I test an export layer ported from this bundle?
- The provided context does not mention tests or fixtures, so assume you need to build your own behavioral contract. Test writer and normalizer output for each supported format, verify row iteration and download behavior, and use fixed fixture datasets in Laravel tests. Keep framework-specific response handling at the boundary so the core export logic remains easy to test.
- Does idci/exporter-bundle stream exports or load the full dataset into memory?
- The provided context does not state whether row writing is iterator or generator based, or whether datasets are materialized in memory. This is an important audit question before porting any code. For Laravel, prefer generator-based row writing and response()->streamDownload() to avoid memory issues on large exports.
- What Laravel alternatives should I use for multi-format data exports?
- For Laravel-native implementations, consider league/csv for CSV, openspout for spreadsheet formats, or a higher-level package such as Laravel Excel where appropriate. You can also implement a small exporter registry through a Laravel service provider. The IDCI bundle is most useful as a pattern reference, not as a dependency.
- Can I fork idci/exporter-bundle and use it internally?
- The license is not stated in the provided context, so check the repository LICENSE file before forking or redistributing. If the license permits it, extract the framework-agnostic writer and normalizer classes, strip Symfony container and HttpFoundation coupling, and re-expose them through a Laravel service provider with tagged exporters.