From 69a82c97aeabca09ab4b38eb3502b300ee71dcd5 Mon Sep 17 00:00:00 2001 From: Oskar Stark Date: Fri, 27 Jun 2025 22:17:29 +0200 Subject: [PATCH] [Translation] Remove deprecated `escape` parameter from `CsvFileLoader` --- UPGRADE-8.0.md | 15 +++++++++++++++ src/Symfony/Component/Translation/CHANGELOG.md | 5 +++++ .../Translation/Loader/CsvFileLoader.php | 15 +++------------ .../Tests/Loader/CsvFileLoaderTest.php | 10 ---------- src/Symfony/Component/Translation/composer.json | 1 - 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/UPGRADE-8.0.md b/UPGRADE-8.0.md index 80948b9422e55..5fd81b62a13ef 100644 --- a/UPGRADE-8.0.md +++ b/UPGRADE-8.0.md @@ -352,6 +352,21 @@ Serializer * Remove `AdvancedNameConverterInterface`, use `NameConverterInterface` instead * Remove the `CompiledClassMetadataFactory` and `CompiledClassMetadataCacheWarmer` classes +Translation +----------- + + * Remove the `$escape` parameter from `CsvFileLoader::setCsvControl()` + + ```diff + use Symfony\Component\Translation\Loader\CsvFileLoader; + + $loader = new CsvFileLoader(); + + // Set CSV control characters including escape character + -$loader->setCsvControl(';', '"', '\\'); + +$loader->setCsvControl(';', '"'); + ``` + TwigBridge ---------- diff --git a/src/Symfony/Component/Translation/CHANGELOG.md b/src/Symfony/Component/Translation/CHANGELOG.md index 365c5cf1cdc7e..24ee66c394ed1 100644 --- a/src/Symfony/Component/Translation/CHANGELOG.md +++ b/src/Symfony/Component/Translation/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +8.0 +--- + + * Remove the `$escape` parameter from `CsvFileLoader::setCsvControl()` + 7.3 --- diff --git a/src/Symfony/Component/Translation/Loader/CsvFileLoader.php b/src/Symfony/Component/Translation/Loader/CsvFileLoader.php index 9b610f6567f59..6530f741facfb 100644 --- a/src/Symfony/Component/Translation/Loader/CsvFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/CsvFileLoader.php @@ -22,10 +22,6 @@ class CsvFileLoader extends FileLoader { private string $delimiter = ';'; private string $enclosure = '"'; - /** - * @deprecated since Symfony 7.2, to be removed in 8.0 - */ - private string $escape = ''; protected function loadResource(string $resource): array { @@ -38,7 +34,7 @@ protected function loadResource(string $resource): array } $file->setFlags(\SplFileObject::READ_CSV | \SplFileObject::SKIP_EMPTY); - $file->setCsvControl($this->delimiter, $this->enclosure, $this->escape); + $file->setCsvControl($this->delimiter, $this->enclosure, ''); foreach ($file as $data) { if (false === $data) { @@ -54,16 +50,11 @@ protected function loadResource(string $resource): array } /** - * Sets the delimiter, enclosure, and escape character for CSV. + * Sets the delimiter and enclosure character for CSV. */ - public function setCsvControl(string $delimiter = ';', string $enclosure = '"', string $escape = ''): void + public function setCsvControl(string $delimiter = ';', string $enclosure = '"'): void { $this->delimiter = $delimiter; $this->enclosure = $enclosure; - if ('' !== $escape) { - trigger_deprecation('symfony/translation', '7.2', 'The "escape" parameter of the "%s" method is deprecated. It will be removed in 8.0.', __METHOD__); - } - - $this->escape = $escape; } } diff --git a/src/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php b/src/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php index cae80911cce1c..b7f64f020fdf5 100644 --- a/src/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php +++ b/src/Symfony/Component/Translation/Tests/Loader/CsvFileLoaderTest.php @@ -58,14 +58,4 @@ public function testLoadNonLocalResource() (new CsvFileLoader())->load('http://example.com/resources.csv', 'en', 'domain1'); } - /** - * @group legacy - */ - public function testEscapeCharInCsvControlIsDeprecated() - { - $loader = new CsvFileLoader(); - - $this->expectUserDeprecationMessage('Since symfony/translation 7.2: The "escape" parameter of the "Symfony\Component\Translation\Loader\CsvFileLoader::setCsvControl" method is deprecated. It will be removed in 8.0.'); - $loader->setCsvControl(';', '"', '\\'); - } } diff --git a/src/Symfony/Component/Translation/composer.json b/src/Symfony/Component/Translation/composer.json index 5b2694a6908ea..7160ec1a02b82 100644 --- a/src/Symfony/Component/Translation/composer.json +++ b/src/Symfony/Component/Translation/composer.json @@ -17,7 +17,6 @@ ], "require": { "php": ">=8.4", - "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "^1.0", "symfony/translation-contracts": "^2.5|^3.0" },