<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Translation\Dumper; use Symfony\Component\Translation\MessageCatalogue; /** * CsvFileDumper generates a csv formatted string representation of a message catalogue. * * @author Stealth35 */ class CsvFileDumper extends FileDumper { private string $delimiter = ';'; private string $enclosure = '"'; public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = []): string { $handle = fopen('php://memory', 'r+'); foreach ($messages->all($domain) as $source => $target) { fputcsv($handle, [$source, $target], $this->delimiter, $this->enclosure); } rewind($handle); $output = stream_get_contents($handle); fclose($handle); return $output; } /** * Sets the delimiter and escape character for CSV. */ public function setCsvControl(string $delimiter = ';', string $enclosure = '"') { $this->delimiter = $delimiter; $this->enclosure = $enclosure; } protected function getExtension(): string { return 'csv'; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
CsvFileDumper.php | File | 1.38 KB | 0644 |
|
DumperInterface.php | File | 766 B | 0644 |
|
FileDumper.php | File | 3.6 KB | 0644 |
|
IcuResFileDumper.php | File | 2.92 KB | 0644 |
|
IniFileDumper.php | File | 989 B | 0644 |
|
JsonFileDumper.php | File | 871 B | 0644 |
|
MoFileDumper.php | File | 2.3 KB | 0644 |
|
PhpFileDumper.php | File | 824 B | 0644 |
|
PoFileDumper.php | File | 4.01 KB | 0644 |
|
QtFileDumper.php | File | 1.89 KB | 0644 |
|
XliffFileDumper.php | File | 9.09 KB | 0644 |
|
YamlFileDumper.php | File | 1.56 KB | 0644 |
|