From 7201f94c5551e92361dbe10f7adc0e02ca273b63 Mon Sep 17 00:00:00 2001 From: Johan Vlaar Date: Thu, 10 Jul 2025 13:31:16 +0200 Subject: [PATCH] [SYMFONY 4.4] replace Link argument values with constants --- composer.json | 1 + config/sets/symfony/symfony4/symfony44.php | 110 ++++++++++++++++++ .../replace_new_link_parameter_value.php.inc | 31 +++++ 3 files changed, 142 insertions(+) create mode 100644 tests/Set/Symfony44/Fixture/replace_new_link_parameter_value.php.inc diff --git a/composer.json b/composer.json index 2de1eaa9..fb2283b4 100644 --- a/composer.json +++ b/composer.json @@ -22,6 +22,7 @@ "symfony/security-core": "^6.4", "symfony/security-http": "^6.4", "symfony/validator": "^6.4", + "symfony/web-link": "^6.4", "symplify/phpstan-rules": "^14.6", "symplify/vendor-patches": "^11.3", "tomasvotruba/class-leak": "^2.0", diff --git a/config/sets/symfony/symfony4/symfony44.php b/config/sets/symfony/symfony4/symfony44.php index 2fe19897..5be6fc1e 100644 --- a/config/sets/symfony/symfony4/symfony44.php +++ b/config/sets/symfony/symfony4/symfony44.php @@ -2,11 +2,121 @@ declare(strict_types=1); +use Rector\Arguments\Rector\ClassMethod\ReplaceArgumentDefaultValueRector; +use Rector\Arguments\ValueObject\ReplaceArgumentDefaultValue; use Rector\Config\RectorConfig; // https://github.com/symfony/symfony/blob/4.4/UPGRADE-4.4.md return static function (RectorConfig $rectorConfig): void { + $rectorConfig->ruleWithConfiguration(ReplaceArgumentDefaultValueRector::class, [ + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'alternate', + 'Symfony\Component\WebLink\Link::REL_ALTERNATE' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'author', + 'Symfony\Component\WebLink\Link::REL_AUTHOR' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'help', + 'Symfony\Component\WebLink\Link::REL_HELP' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'icon', + 'Symfony\Component\WebLink\Link::REL_ICON' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'license', + 'Symfony\Component\WebLink\Link::REL_LICENSE' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'search', + 'Symfony\Component\WebLink\Link::REL_SEARCH' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'stylesheet', + 'Symfony\Component\WebLink\Link::REL_STYLESHEET' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'next', + 'Symfony\Component\WebLink\Link::REL_NEXT' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'prev', + 'Symfony\Component\WebLink\Link::REL_PREV' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'preload', + 'Symfony\Component\WebLink\Link::REL_PRELOAD' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'dns-prefetch', + 'Symfony\Component\WebLink\Link::REL_DNS_PREFETCH' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'preconnect', + 'Symfony\Component\WebLink\Link::REL_PRECONNECT' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'prefetch', + 'Symfony\Component\WebLink\Link::REL_PREFETCH' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'prerender', + 'Symfony\Component\WebLink\Link::REL_PRERENDER' + ), + new ReplaceArgumentDefaultValue( + 'Symfony\Component\WebLink\Link', + '__construct', + 0, + 'mercure', + 'Symfony\Component\WebLink\Link::REL_MERCURE' + ), + ]); + $rectorConfig->import(__DIR__ . '/symfony44/symfony44-dependency-injection.php'); $rectorConfig->import(__DIR__ . '/symfony44/symfony44-console.php'); $rectorConfig->import(__DIR__ . '/symfony44/symfony44-http-kernel.php'); diff --git a/tests/Set/Symfony44/Fixture/replace_new_link_parameter_value.php.inc b/tests/Set/Symfony44/Fixture/replace_new_link_parameter_value.php.inc new file mode 100644 index 00000000..1352d6c6 --- /dev/null +++ b/tests/Set/Symfony44/Fixture/replace_new_link_parameter_value.php.inc @@ -0,0 +1,31 @@ + +----- +