RequestQueryToMapQueryParameterRector

Move $request->query->getInt(), getBoolean(), getString() and getEnum() calls in controller actions to #[MapQueryParameter] action parameters

 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
 use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpKernel\Attribute\MapQueryParameter;

 final class SomeController extends AbstractController
 {
-    public function list(Request $request)
+    public function list(Request $request, #[MapQueryParameter] int $page = 1, #[MapQueryParameter(name: 'published')] bool $isPublished = false)
     {
-        $page = $request->query->getInt('page', 1);
-        $isPublished = $request->query->getBoolean('published');
     }
 }

Configure your rector.php:

<?php

use Rector\Config\RectorConfig;
use Rector\Symfony\CodeQuality\Rector\ClassMethod\RequestQueryToMapQueryParameterRector;

return RectorConfig::configure()
    ->withRules([
        RequestQueryToMapQueryParameterRector::class,
    ]);
PACKAGE:  symfony/http-kernel >=6.3