Symfony Exception

InvalidParameterException

HTTP 500 Internal Server Error

Parameter "type" for route "fr__RG__liste_ressource" must match "[^/]++" ("" given) to generate a corresponding URL.

Exception

Symfony\Component\Routing\Exception\ InvalidParameterException

  1.                 if (!$optional || $important || !\array_key_exists($varName$defaults) || (null !== $mergedParams[$varName] && (string) $mergedParams[$varName] !== (string) $defaults[$varName])) {
  2.                     // check requirement (while ignoring look-around patterns)
  3.                     if (null !== $this->strictRequirements && !preg_match('#^'.preg_replace('/\(\?(?:=|<=|!|<!)((?:[^()\\\\]+|\\\\.|\((?1)\))*)\)/'''$token[2]).'$#i'.(empty($token[4]) ? '' 'u'), $mergedParams[$token[3]] ?? '')) {
  4.                         if ($this->strictRequirements) {
  5.                             throw new InvalidParameterException(strtr($message, ['{parameter}' => $varName'{route}' => $name'{expected}' => $token[2], '{given}' => $mergedParams[$varName]]));
  6.                         }
  7.                         $this->logger?->error($message, ['parameter' => $varName'route' => $name'expected' => $token[2], 'given' => $mergedParams[$varName]]);
  8.                         return '';
  1.             } elseif (!isset($parameters['_locale'])) {
  2.                 $parameters['_locale'] = $defaults['_locale'];
  3.             }
  4.         }
  5.         return $this->doGenerate($variables$defaults$requirements$tokens$parameters$name$referenceType$hostTokens$requiredSchemes);
  6.     }
  7. }
  1.             $currentHost $this->context->getHost();
  2.             $this->context->setHost($this->hostMap[$locale]);
  3.         }
  4.         try {
  5.             $url $generator->generate($locale.I18nLoader::ROUTING_PREFIX.$name$parameters$referenceType);
  6.             if ($needsHost && $this->hostMap) {
  7.                 $this->context->setHost($currentHost);
  8.             }
  1.      *
  2.      * @see UrlGeneratorInterface
  3.      */
  4.     protected function generateUrl(string $route, array $parameters = [], int $referenceType UrlGeneratorInterface::ABSOLUTE_PATH): string
  5.     {
  6.         return $this->container->get('router')->generate($route$parameters$referenceType);
  7.     }
  8.     /**
  9.      * Forwards the request to another controller.
  10.      *
AbstractController->generateUrl('liste_ressource', array('type' => null)) in src/Controller/MainController.php (line 3143)
  1.                     } else {
  2.                         array_push($b, array(
  3.                             "titre" => $translator->trans($name_route[1]),
  4.                             "alias" => $this->generateUrl(
  5.                                 'liste_ressource',
  6.                                 array('type' => $name_route[1])
  7.                             )
  8.                         ));
  9.                         array_push($b, array(
  10.                             "titre" => $title,
  11.                             "alias" => $this->generateUrl(
MainController->generateBreadCrumb(object(Translator), 'ressources', 'Guide de visite', array('ressources2', null)) in src/Controller/MainController.php (line 898)
  1.         } else {
  2.             $this->params['breadcrumb'] = $this->generateBreadCrumb(
  3.                 $this->translator,
  4.                 "ressources",
  5.                 $ressource['titre'],
  6.                 array("ressources" $ressource['rid'], $ressource['type_name'])
  7.             );
  8.         }
  9.         // Set menu active state
  10.         $this->params['menu_active'] = 'ressource';
MainController->ressource(array('titre' => 'Guide de visite', 'content' => '<p>Ce livret vous est remis &agrave; l&#39;accueil</p>', 'transcription' => null, 'rid' => 2, 'type_name' => null, 'filename' => null, 'duree' => null, 'ressource_filename' => '602a7bd41cfc1_Guide de visite Abbaye de Vaucelles.pdf', 'isPress' => false), 'alias_fr', object(Request)) in src/Controller/MainController.php (line 461)
  1.                     break;
  2.                 case 'expos':
  3.                     return $this->expos($name_sql$fieldLocale$request);
  4.                     break;
  5.                 case 'ressources':
  6.                     return $this->ressource($name_sql$fieldLocale$request);
  7.                     break;
  8.                 case 'pagepresse':
  9.                     return $this->presse($request);
  10.                     break;
  11.                 case 'pagechercheur':
  1.         $this->dispatcher->dispatch($eventKernelEvents::CONTROLLER_ARGUMENTS);
  2.         $controller $event->getController();
  3.         $arguments $event->getArguments();
  4.         // call controller
  5.         $response $controller(...$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new ViewEvent($this$request$type$response$event);
  9.             $this->dispatcher->dispatch($eventKernelEvents::VIEW);
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response null;
  4.         try {
  5.             return $response $this->handleRaw($request$type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.         $this->request $request;
  2.     }
  3.     public function run(): int
  4.     {
  5.         $response $this->kernel->handle($this->request);
  6.         $response->send();
  7.         if ($this->kernel instanceof TerminableInterface) {
  8.             $this->kernel->terminate($this->request$response);
  9.         }
in vendor/autoload_runtime.php -> run (line 29)
  1. $app $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/home/www/vaucelles/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

No log messages

Stack Trace

InvalidParameterException
Symfony\Component\Routing\Exception\InvalidParameterException:
Parameter "type" for route "fr__RG__liste_ressource" must match "[^/]++" ("" given) to generate a corresponding URL.

  at vendor/symfony/routing/Generator/UrlGenerator.php:182
  at Symfony\Component\Routing\Generator\UrlGenerator->doGenerate(array('type' => 0), array('_controller' => 'App\\Controller\\MainController::ressourcelist', '_locale' => 'fr'), array(), array(array('variable', '/', '[^/]++', 'type', true), array('text', '/ressources')), array('type' => null), 'fr__RG__liste_ressource', 1, array(), array())
     (vendor/symfony/routing/Generator/CompiledUrlGenerator.php:67)
  at Symfony\Component\Routing\Generator\CompiledUrlGenerator->generate('fr__RG__liste_ressource', array('type' => null), 1)
     (vendor/gjuric/i18n-routing-bundle/JMS/I18nRoutingBundle/Router/I18nRouter.php:129)
  at JMS\I18nRoutingBundle\Router\I18nRouter->generate('liste_ressource', array('type' => null), 1)
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:109)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->generateUrl('liste_ressource', array('type' => null))
     (src/Controller/MainController.php:3143)
  at App\Controller\MainController->generateBreadCrumb(object(Translator), 'ressources', 'Guide de visite', array('ressources2', null))
     (src/Controller/MainController.php:898)
  at App\Controller\MainController->ressource(array('titre' => 'Guide de visite', 'content' => '<p>Ce livret vous est remis &agrave; l&#39;accueil</p>', 'transcription' => null, 'rid' => 2, 'type_name' => null, 'filename' => null, 'duree' => null, 'ressource_filename' => '602a7bd41cfc1_Guide de visite Abbaye de Vaucelles.pdf', 'isPress' => false), 'alias_fr', object(Request))
     (src/Controller/MainController.php:461)
  at App\Controller\MainController->routes(object(Request), 'guide-de-visite')
     (vendor/symfony/http-kernel/HttpKernel.php:181)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:197)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/home/www/vaucelles/vendor/autoload_runtime.php')
     (public/index.php:5)