Sonata\Exporter\Writer\CsvWriter::write PHP Method

write() public method

public write ( array $data )
$data array
    public function write(array $data)
    {
        if ($this->position == 0 && $this->showHeaders) {
            $this->addHeaders($data);
            ++$this->position;
        }
        $result = @fputcsv($this->file, $data, $this->delimiter, $this->enclosure);
        if (!$result) {
            throw new InvalidDataFormatException();
        }
        ++$this->position;
    }

Usage Example

 public function testWithBom()
 {
     $writer = new CsvWriter($this->filename, ',', '"', '', true, true);
     $writer->open();
     $writer->write(array('name' => 'Rémi , ""2"', 'surname' => 'doe ', 'year' => '2001'));
     $writer->close();
     $expected = chr(0xef) . chr(0xbb) . chr(0xbf) . 'name,surname,year' . "\n" . '"Rémi , """"2""","doe ",2001';
     $this->assertEquals($expected, trim(file_get_contents($this->filename)));
 }