先日公開したCSV入出力用ライブラリ Volcanus_Csv ですが、実際に使わないと改善点も見えてこないので、あれこれやってみます。 今回は Silex で Volcanus_Csv のレスポンス出力を利用せず、通常のコントローラと同様に Response オブジェクトを利用してみました。 元々レスポンス出力機能を付けたのは、Symfony HttpFoundation 単体でファイルのダウンロード用レスポンスを生成する方法が分からなかったことが理由の一つなんですが、これについてはタイトルの StreamedResponse クラスを使うことで解決できました。 Response クラスを継承した StreamedResponse クラスは第1引数にレスポンスの内容そのものではなく、内容を出力するコールバックを受け付けるので、データベースやファイルの内容を読み込みつつ出力することが可能に