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" }, pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy