Repository navigation
1.7.0
What's New
StreamedCSVResponse (#12)
New StreamedCSVResponse class for large CSV exports without memory buffering. Extends Symfony's StreamedResponse and writes rows directly to php://output.
// Stream large datasets without hitting memory limits
return new StreamedCSVResponse($data);
// Works with callables for lazy data loading
return new StreamedCSVResponse(function () {
return $repository->findAllAsGenerator();
});Shared architecture
- Extracted
CSVResponseInterfacewith shared constants - Extracted
CSVResponseTraitwith shared logic (value conversion, formula sanitization) CSVResponserefactored to use interface + trait — zero BC break- Both classes now accept
callabledata sources (in addition toiterable)