delimiter = $delimiter; return $this; } /** * @return string - mime type for the downloaded file */ protected function getMimeType() { return $this->wantDownload ? 'text/csv' : 'text/plain'; } /** * @return string - file extension for the downloaded file */ protected function getFileExtension() { return 'csv'; } /** * Write the document to stdout ('php://output') */ protected function writeDocument() { $handle = fopen('php://output', 'w'); $columnNames = array_map(function (Column $c) { return $c->title; }, $this->columns); fputcsv($handle, $columnNames, $this->delimiter); foreach ($this->iterateRows() as $row) { fputcsv($handle, array_values($row), $this->delimiter); } fclose($handle); } }