title: Symfony - Creating a ParamConverter - Fails to register the converter name
body: <p>I created a custom @ParamConverter to manage editing a student record based on a Route of <code>/student/{id}</code>,
  but when I run it I get an Exception &quot;No converter named 'asymatic_param_converter' found for conversion of parameter 'id'.</p>
  <p>The error is caused because in <code>vendor/sensio/framework-extra-bundle/src/Request/ParamConverter/ParamConverterManager.php</code> ,
  in function <code>applyConverter(Request $request, ParamConverter $configuration)</code>
  my converterName is not in the array of <code>$this-&gt;namedConverters;</code></p>
  <p>The array of <code>namedConverters</code> is created by the <code>add(ParamConverterInterface $converter, $priority = 0, $name = null)</code>
  It is called 4 times, once each for 'doctrine.orm' and 'datetime' and twice for my custom param converter,
  once from the services.yaml definition and once from the @ParamConverter annotation.</p>
  <p>But in neither case is the 'name' being passed to this &quot;add() function.</p>
  <p><strong>Question</strong>: What am I missing or what param/argument do I have to specify to get the name of my custom converter passed to the ParamConverterManager so that it gets added to the list of converters?</p>
  <p>Symfony version 5.0.7 on SUSE Linux 4.12.14</p>
  <p>Relevant Extracts from configuration and classes are:-</p>
  <pre><code>config/services.yaml
  services:
      # default configuration for services in file
      _defaults:
          autowire: true      # Automatically injects dependencies in your services.
          autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
  
      # set up a custom ParamConverter to catch edits of non-existent record id's 
      app.asymatic_param_converter:
          class: App\ParamConverter\AsymaticParamConverter
          properties: {name: 'Goldberg' }
          tags: { name: 'request.param_converter', converter: 'asymatic_param_converter' }
      ...
  </code></pre>
  <p>Student Controller (part):-</p>
  <pre><code>       /**
           * @Route(&quot;/student/{id}&quot;, name=&quot;student_edit&quot;, requirements={&quot;id&quot;:&quot;\d+&quot;} )
           * @ParamConverter(converter=&quot;asymatic_param_converter&quot;, name=&quot;id&quot;, class=&quot;AsymaticParamConverter&quot; )
           */
      public function edit(Request $request, Student $student, StudentRepository $studentRepo)
      {
          $form = $this-&gt;createForm(\App\Form\StudentType::class, $student);
          $form-&gt;handleRequest($request);
          .... 
  </code></pre>
  <p>in {project_root}/src/ParamConverter/AsymaticParamConverter.php</p>
  <pre><code>namespace App\ParamConverter;
  
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
  use Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\DoctrineParamConverter;
  use Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\ParamConverterInterface;
  use Symfony\Component\HttpFoundation\Request;
  
  use Doctrine\Common\Persistence\ManagerRegistry;
  use Doctrine\DBAL\Types\ConversionException;
  use Doctrine\ORM\EntityManagerInterface;
  use Doctrine\ORM\NoResultException;
  use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
  use Symfony\Component\ExpressionLanguage\SyntaxError;
  use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  
  class AsymaticParamConverter extends DoctrineParamConverter implements ParamConverterInterface
  {
      public function __construct(ManagerRegistry $registry = null, ExpressionLanguage $expressionLanguage = null, array $options = [])
      {
           parent::__construct($registry, $expressionLanguage, $options);
      }
      
           // to assist with debugging sensio... ParamConverterManager.php
      public function getMyName() {
          return &quot;AsymaticParamConverter&quot;;
      }
  
          // following 2 functions fulfil ParamConverterInterface requirements
          // and are currently taken directly from DoctrineParamConverter
      public function apply(Request $request, ParamConverter $configuration)
      {
          ... 
      }
       public function supports(ParamConverter $configuration)
      {
          ....
      }
  }
  </code></pre>
  <p>Lastly, looking for where the names for 'doctrine.orm' come from, in the compiled Container \var\cache\test\ContainerUL92jrb\App_KernelTestDebugContainer.php
  I can see the ParamConverters are loaded from the following function</p>
  <pre><code> /**
       * Gets the private 'sensio_framework_extra.converter.manager' shared service.
       *
       * @return \Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\ParamConverterManager
       */
  protected function getSensioFrameworkExtra_Converter_ManagerService()
  {
      $instance-&gt;add(($this-&gt;privates['app.asymatic_param_converter'] ?? 
          $this-&gt;getApp_AsymaticParamConverterService()), 0, NULL);
      $instance-&gt;add(($this-&gt;privates['App\\ParamConverter\\AsymaticParamConverter'] ?? 
          $this-&gt;getAsymaticParamConverterService()), 0, NULL);
      $instance-&gt;add(($this-&gt;privates['sensio_framework_extra.converter.doctrine.orm'] ?? 
          $this-&gt;getSensioFrameworkExtra_Converter_Doctrine_OrmService()), 0, 'doctrine.orm');
  </code></pre>
  <p>And these NULLS are the issue; If I replace them with 'asymatic_param_converter' the Exception is not thrown, and I can use the ParamConverter's apply() function. But that's not a solution!</p>