Error 500 Internal Server Error

GET https://doli.serv-kompixel.fr/contest/

Forwarded to ErrorController (f4df63)

Exceptions

An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "app_search_city" as such route does not exist.") in public/contest/index.html.twig at line 20.

Exceptions 2

Twig\Error\ RuntimeError

Show exception properties
Twig\Error\RuntimeError {#878
  -lineno: 20
  -rawMessage: "An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "app_search_city" as such route does not exist.")."
  -source: Twig\Source {#841
    -code: """
      {% extends "base.html.twig" %}\n
      \n
      {% block title %}🎉 Concours & Jeux - Découvrez les concours près de chez vous !{% endblock %}\n
      \n
      {% block body %}\n
      <!-- Hero Section -->\n
      <div class="hero-section text-center mb-5 fade-in-up">\n
          <div class="container">\n
              <div class="row justify-content-center">\n
                  <div class="col-lg-8">\n
                      <h1 class="hero-title mb-4">\n
                          <span class="gradient-text">🎯 Trouvez des concours près de chez vous !</span>\n
                      </h1>\n
                      <p class="hero-subtitle mb-4">\n
                          Découvrez des concours passionnants dans votre ville et dans un rayon de 20km !\n
                      </p>\n
                      \n
                      <!-- Barre de recherche -->\n
                      <div class="search-section mb-5">\n
                          <form action="{{ path('app_search_city') }}" method="GET" class="search-form">\n
                              <div class="input-group input-group-lg">\n
                                  <input type="text" \n
                                         class="form-control search-input" \n
                                         name="city" \n
                                         placeholder="Entrez le nom de votre ville..."\n
                                         autocomplete="off">\n
                                  <button class="btn btn-primary search-btn" type="submit">\n
                                      <i class="fas fa-search me-2"></i>Rechercher\n
                                  </button>\n
                              </div>\n
                          </form>\n
                          <div class="text-center mt-3">\n
                              <a href="{{ path('app_categories') }}" class="btn btn-outline-primary">\n
                                  <i class="fas fa-tags me-2"></i>Ou rechercher par catégorie\n
                              </a>\n
                          </div>\n
                      </div>\n
      \n
                      <div class="hero-stats row justify-content-center mb-4">\n
                          <div class="col-md-4 col-6 mb-3">\n
                              <div class="stat-item">\n
                                  <div class="stat-number">{{ majorCities|length }}</div>\n
                                  <div class="stat-label">Villes disponibles</div>\n
                              </div>\n
                          </div>\n
                          <div class="col-md-4 col-6 mb-3">\n
                              <div class="stat-item">\n
                                  <div class="stat-number">\n
                                      {% set totalContests = 0 %}\n
                                      {% for city in majorCities %}\n
                                          {% set totalContests = totalContests + city.contestCount %}\n
                                      {% endfor %}\n
                                      {{ totalContests }}\n
                                  </div>\n
                                  <div class="stat-label">Concours actifs</div>\n
                              </div>\n
                          </div>\n
                          <div class="col-md-4 col-6 mb-3">\n
                              <div class="stat-item">\n
                                  <div class="stat-number">20km</div>\n
                                  <div class="stat-label">Rayon de recherche</div>\n
                              </div>\n
                          </div>\n
                      </div>\n
                  </div>\n
              </div>\n
          </div>\n
      </div>\n
      \n
      <!-- Section des villes -->\n
      <div class="cities-section">\n
          <div class="container">\n
              <div class="section-header text-center mb-5 fade-in-up">\n
                  <h2 class="section-title">\n
                      <i class="fas fa-map-marker-alt me-3"></i>\n
                      Découvrez les grandes villes de France\n
                  </h2>\n
                  <p class="section-subtitle">\n
                      Cliquez sur une ville pour voir tous les concours disponibles dans la région\n
                  </p>\n
              </div>\n
      \n
              <div class="row">\n
                  {% for city in majorCities %}\n
                      <div class="col-lg-3 col-md-4 col-sm-6 mb-4 fade-in-up" style="animation-delay: {{ loop.index * 0.1 }}s;">\n
                          <div class="city-card" onclick="window.location.href='{{ path('app_city_contests', {'cityName': city.name}) }}'">\n
                              <div class="city-image">\n
                                  <img src="{{ city.image }}" alt="{{ city.name }}" class="img-fluid">\n
                                  <div class="city-overlay">\n
                                      <div class="city-badge">\n
                                          {% if city.contestCount > 0 %}\n
                                              <span class="badge badge-active">\n
                                                  <i class="fas fa-trophy me-1"></i>{{ city.contestCount }} concours\n
                                              </span>\n
                                          {% else %}\n
                                              <span class="badge badge-empty">\n
                                                  <i class="fas fa-clock me-1"></i>Bientôt disponible\n
                                              </span>\n
                                          {% endif %}\n
                                      </div>\n
                                  </div>\n
                              </div>\n
                              <div class="city-body">\n
                                  <h3 class="city-title">{{ city.name }}</h3>\n
                                  <div class="city-info">\n
                                      <div class="city-coordinates">\n
                                          <i class="fas fa-map-marker-alt me-1"></i>\n
                                          {{ city.latitude|number_format(4) }}, {{ city.longitude|number_format(4) }}\n
                                      </div>\n
                                      {% if city.contestCount > 0 %}\n
                                          <div class="city-contests">\n
                                              <i class="fas fa-trophy me-1"></i>\n
                                              {{ city.contestCount }} concours actifs\n
                                          </div>\n
                                      {% else %}\n
                                          <div class="city-contests empty">\n
                                              <i class="fas fa-info-circle me-1"></i>\n
                                              Aucun concours pour le moment\n
                                          </div>\n
                                      {% endif %}\n
                                  </div>\n
                              </div>\n
                              <div class="city-footer">\n
                                  <a href="{{ path('app_city_contests', {'cityName': city.name}) }}" class="btn btn-city">\n
                                      <i class="fas fa-arrow-right me-2"></i>Voir les concours\n
                                  </a>\n
                              </div>\n
                          </div>\n
                      </div>\n
                  {% endfor %}\n
              </div>\n
          </div>\n
      </div>\n
      \n
      <!-- Call to action -->\n
      <div class="cta-section text-center mt-5 fade-in-up">\n
          <div class="container">\n
              <div class="cta-card">\n
                  <h2 class="cta-title mb-3">🎯 Prêt à participer ?</h2>\n
                  <p class="cta-text mb-4">Rejoignez la communauté et tentez votre chance de gagner près de chez vous !</p>\n
                  <div class="cta-buttons">\n
                      {% if not app.user %}\n
                          <a href="{{ path('app_register') }}" class="btn btn-primary btn-lg me-3">\n
                              <i class="fas fa-user-plus me-2"></i>S'inscrire maintenant\n
                          </a>\n
                          <a href="{{ path('app_login') }}" class="btn btn-outline-primary btn-lg">\n
                              <i class="fas fa-sign-in-alt me-2"></i>Se connecter\n
                          </a>\n
                      {% else %}\n
                          <a href="{{ path('app_my_participations') }}" class="btn btn-primary btn-lg me-3">\n
                              <i class="fas fa-clipboard-list me-2"></i>Mes participations\n
                          </a>\n
                          <a href="{{ path('app_my_wins') }}" class="btn btn-success btn-lg">\n
                              <i class="fas fa-medal me-2"></i>Mes gains\n
                          </a>\n
                      {% endif %}\n
                  </div>\n
              </div>\n
          </div>\n
      </div>\n
      \n
      <style>\n
      /* Styles pour la barre de recherche */\n
      .search-section {\n
          max-width: 600px;\n
          margin: 0 auto;\n
      }\n
      \n
      .search-form {\n
          position: relative;\n
      }\n
      \n
      .search-input {\n
          border: none;\n
          border-radius: 50px;\n
          padding: 1rem 1.5rem;\n
          font-size: 1.1rem;\n
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);\n
          background: rgba(255, 255, 255, 0.95);\n
          backdrop-filter: blur(10px);\n
          border: 1px solid rgba(255, 255, 255, 0.2);\n
      }\n
      \n
      .search-input:focus {\n
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), 0 0 30px rgba(99, 102, 241, 0.3);\n
          border-color: var(--primary);\n
      }\n
      \n
      .search-btn {\n
          border-radius: 50px;\n
          padding: 1rem 2rem;\n
          font-weight: 600;\n
          background: var(--gradient-primary);\n
          border: none;\n
          box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3);\n
          transition: all 0.3s ease;\n
      }\n
      \n
      .search-btn:hover {\n
          transform: translateY(-2px);\n
          box-shadow: 0 6px 20px rgba(99, 102, 241, 0.4);\n
      }\n
      \n
      /* Styles pour les cartes de villes */\n
      .city-card {\n
          background: rgba(255, 255, 255, 0.95);\n
          border-radius: 20px;\n
          overflow: hidden;\n
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);\n
          transition: all 0.4s ease;\n
          border: 1px solid rgba(255, 255, 255, 0.2);\n
          backdrop-filter: blur(10px);\n
          cursor: pointer;\n
          height: 100%;\n
          display: flex;\n
          flex-direction: column;\n
      }\n
      \n
      .city-card:hover {\n
          transform: translateY(-10px) scale(1.02);\n
          box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2), 0 0 30px rgba(99, 102, 241, 0.3);\n
      }\n
      \n
      .city-image {\n
          position: relative;\n
          height: 200px;\n
          overflow: hidden;\n
      }\n
      \n
      .city-image img {\n
          width: 100%;\n
          height: 100%;\n
          object-fit: cover;\n
          transition: transform 0.4s ease;\n
      }\n
      \n
      .city-card:hover .city-image img {\n
          transform: scale(1.1);\n
      }\n
      \n
      .city-overlay {\n
          position: absolute;\n
          top: 0;\n
          left: 0;\n
          right: 0;\n
          bottom: 0;\n
          background: linear-gradient(135deg, rgba(99, 102, 241, 0.8) 0%, rgba(139, 92, 246, 0.8) 100%);\n
          opacity: 0;\n
          transition: opacity 0.3s ease;\n
          display: flex;\n
          align-items: center;\n
          justify-content: center;\n
      }\n
      \n
      .city-card:hover .city-overlay {\n
          opacity: 1;\n
      }\n
      \n
      .city-badge {\n
          position: absolute;\n
          top: 1rem;\n
          right: 1rem;\n
      }\n
      \n
      .badge {\n
          padding: 0.5rem 1rem;\n
          border-radius: 20px;\n
          font-weight: 600;\n
          font-size: 0.8rem;\n
          color: white;\n
      }\n
      \n
      .badge-active {\n
          background: var(--gradient-success);\n
      }\n
      \n
      .badge-empty {\n
          background: linear-gradient(135deg, #6b7280 0%, #9ca3af 100%);\n
      }\n
      \n
      .city-body {\n
          padding: 1.5rem;\n
          flex-grow: 1;\n
      }\n
      \n
      .city-title {\n
          font-size: 1.5rem;\n
          font-weight: 700;\n
          color: #1e293b;\n
          margin-bottom: 1rem;\n
          text-align: center;\n
      }\n
      \n
      .city-info {\n
          text-align: center;\n
      }\n
      \n
      .city-coordinates {\n
          color: #6b7280;\n
          font-size: 0.9rem;\n
          margin-bottom: 0.5rem;\n
      }\n
      \n
      .city-contests {\n
          color: var(--success);\n
          font-weight: 600;\n
          font-size: 0.9rem;\n
      }\n
      \n
      .city-contests.empty {\n
          color: #6b7280;\n
      }\n
      \n
      .city-footer {\n
          padding: 1rem 1.5rem 1.5rem;\n
          text-align: center;\n
      }\n
      \n
      .btn-city {\n
          width: 100%;\n
          background: var(--gradient-primary);\n
          border: none;\n
          border-radius: 15px;\n
          padding: 0.75rem 1.5rem;\n
          font-weight: 600;\n
          color: white;\n
          transition: all 0.3s ease;\n
          text-decoration: none;\n
          display: inline-block;\n
      }\n
      \n
      .btn-city:hover {\n
          transform: translateY(-2px);\n
          box-shadow: 0 6px 20px rgba(99, 102, 241, 0.4);\n
          color: white;\n
      }\n
      \n
      /* Responsive */\n
      @media (max-width: 768px) {\n
          .search-input {\n
              font-size: 1rem;\n
              padding: 0.875rem 1.25rem;\n
          }\n
          \n
          .search-btn {\n
              padding: 0.875rem 1.5rem;\n
          }\n
          \n
          .city-card {\n
              margin-bottom: 1rem;\n
          }\n
      }\n
      </style>\n
      \n
      <script>\n
      document.addEventListener('DOMContentLoaded', function() {\n
          // Animation des cartes au scroll\n
          const cards = document.querySelectorAll('.city-card');\n
          const observer = new IntersectionObserver((entries) => {\n
              entries.forEach(entry => {\n
                  if (entry.isIntersecting) {\n
                      entry.target.classList.add('slide-up');\n
                  }\n
              });\n
          });\n
          \n
          cards.forEach(card => observer.observe(card));\n
          \n
          // Autocomplétion pour la barre de recherche\n
          const searchInput = document.querySelector('.search-input');\n
          const cities = [\n
              'Paris', 'Lyon', 'Marseille', 'Toulouse', 'Nice', 'Nantes', \n
              'Strasbourg', 'Montpellier', 'Bordeaux', 'Lille', 'Rennes', 'Reims'\n
          ];\n
          \n
          if (searchInput) {\n
              searchInput.addEventListener('input', function() {\n
                  const value = this.value.toLowerCase();\n
                  // Ici on pourrait ajouter une logique d'autocomplétion\n
              });\n
          }\n
      });\n
      </script>\n
      {% endblock %}\n
      """
    -name: "public/contest/index.html.twig"
    -path: "/home/serv-kompixel-doli/htdocs/doli.serv-kompixel.fr/templates/public/contest/index.html.twig"
  }
  -phpFile: "/home/serv-kompixel-doli/htdocs/doli.serv-kompixel.fr/vendor/twig/twig/src/Template.php"
  -phpLine: 460
}
  1. Découvrez des concours passionnants dans votre ville et dans un rayon de 20km !
  2. </p>
  3. <!-- Barre de recherche -->
  4. <div class="search-section mb-5">
  5. <form action="{{ path('app_search_city') }}" method="GET" class="search-form">
  6. <div class="input-group input-group-lg">
  7. <input type="text"
  8. class="form-control search-input"
  9. name="city"
  10. placeholder="Entrez le nom de votre ville..."
  1. $context = array_intersect_key($context, $_parent) + $_parent;
  2. // line 430
  3. yield "
  4. ";
  5. // line 431
  6. yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
  7. // line 432
  8. yield " </div>
  9. </main>
  10. <!-- Footer -->
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1. {
  2. $context += $this->env->getGlobals();
  3. $blocks = array_merge($this->blocks, $blocks);
  4. try {
  5. yield from $this->doDisplay($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->getSourceContext());
  9. }
  1. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "public/contest/index.html.twig"));
  3. $this->parent = $this->load("base.html.twig", 1);
  4. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  5. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  6. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1. {
  2. $context += $this->env->getGlobals();
  3. $blocks = array_merge($this->blocks, $blocks);
  4. try {
  5. yield from $this->doDisplay($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->getSourceContext());
  9. }
  1. return $this->blocks;
  2. }
  3. public function display(array $context, array $blocks = []): void
  4. {
  5. foreach ($this->yield($context, $blocks) as $data) {
  6. echo $data;
  7. }
  8. }
  9. public function render(array $context): string
in vendor/twig/twig/src/Template.php -> display (line 373)
  1. ob_start();
  2. } else {
  3. ob_start(function () { return ''; });
  4. }
  5. try {
  6. $this->display($context);
  7. } catch (\Throwable $e) {
  8. while (ob_get_level() > $level) {
  9. ob_end_clean();
  10. }
  1. yield from $this->template->yieldBlock($name, $context);
  2. }
  3. public function render(array $context = []): string
  4. {
  5. return $this->template->render($context);
  6. }
  7. /**
  8. * @return void
  9. */
  1. * @throws SyntaxError When an error occurred during compilation
  2. * @throws RuntimeError When an error occurred during rendering
  3. */
  4. public function render($name, array $context = []): string
  5. {
  6. return $this->load($name)->render($context);
  7. }
  8. /**
  9. * Displays a template.
  10. *
  1. if (null !== $block) {
  2. return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);
  3. }
  4. return $this->container->get('twig')->render($view, $parameters);
  5. }
  6. private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  7. {
  8. $content = $this->doRenderView($view, $block, $parameters, $method);
  1. return $this->container->get('twig')->render($view, $parameters);
  2. }
  3. private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  4. {
  5. $content = $this->doRenderView($view, $block, $parameters, $method);
  6. $response ??= new Response();
  7. if (200 === $response->getStatusCode()) {
  8. foreach ($parameters as $v) {
  9. if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
  1. * If an invalid form is found in the list of parameters, a 422 status code is returned.
  2. * Forms found in parameters are auto-cast to form views.
  3. */
  4. protected function render(string $view, array $parameters = [], ?Response $response = null): Response
  5. {
  6. return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
  7. }
  8. /**
  9. * Renders a block in a view.
  10. *
AbstractController->render() in src/Controller/Public/ContestController.php (line 126)
  1. if (isset($majorCities[$cityName])) {
  2. $majorCities[$cityName]['contestCount'] = $cityData['contestCount'];
  3. }
  4. }
  5. return $this->render('public/contest/index.html.twig', [
  6. 'majorCities' => $majorCities,
  7. ]);
  8. }
  9. #[Route('/city/{cityName}', name: 'app_city_contests')]
  1. $this->dispatcher->dispatch($event, KernelEvents::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($event, KernelEvents::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. ) {
  2. }
  3. public function run(): int
  4. {
  5. $response = $this->kernel->handle($this->request);
  6. if (Kernel::VERSION_ID >= 60400) {
  7. $response->send(false);
  8. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
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/serv-kompixel-doli/htdocs/doli.serv-kompixel.fr/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. };

Symfony\Component\Routing\Exception\ RouteNotFoundException

Unable to generate a URL for the named route "app_search_city" as such route does not exist.

  1. }
  2. } while (false !== $locale = strstr($locale, '_', true));
  3. }
  4. if (!isset($this->compiledRoutes[$name])) {
  5. throw new RouteNotFoundException(\sprintf('Unable to generate a URL for the named route "%s" as such route does not exist.', $name));
  6. }
  7. [$variables, $defaults, $requirements, $tokens, $hostTokens, $requiredSchemes, $deprecations] = $this->compiledRoutes[$name] + [6 => []];
  8. foreach ($deprecations as $deprecation) {
in vendor/symfony/routing/Router.php -> generate (line 172)
  1. $this->configCacheFactory = $configCacheFactory;
  2. }
  3. public function generate(string $name, array $parameters = [], int $referenceType = self::ABSOLUTE_PATH): string
  4. {
  5. return $this->getGenerator()->generate($name, $parameters, $referenceType);
  6. }
  7. public function match(string $pathinfo): array
  8. {
  9. return $this->getMatcher()->match($pathinfo);
  1. ];
  2. }
  3. public function getPath(string $name, array $parameters = [], bool $relative = false): string
  4. {
  5. return $this->generator->generate($name, $parameters, $relative ? UrlGeneratorInterface::RELATIVE_PATH : UrlGeneratorInterface::ABSOLUTE_PATH);
  6. }
  7. public function getUrl(string $name, array $parameters = [], bool $schemeRelative = false): string
  8. {
  9. return $this->generator->generate($name, $parameters, $schemeRelative ? UrlGeneratorInterface::NETWORK_PATH : UrlGeneratorInterface::ABSOLUTE_URL);
  1. <!-- Barre de recherche -->
  2. <div class=\"search-section mb-5\">
  3. <form action=\"";
  4. // line 20
  5. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_search_city");
  6. yield "\" method=\"GET\" class=\"search-form\">
  7. <div class=\"input-group input-group-lg\">
  8. <input type=\"text\"
  9. class=\"form-control search-input\"
  10. name=\"city\"
in vendor/twig/twig/src/Template.php -> block_body (line 446)
  1. throw new \LogicException('A block must be a method on a \Twig\Template instance.');
  2. }
  3. if (null !== $template) {
  4. try {
  5. yield from $template->$block($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($template->getSourceContext());
  9. }
  1. $context = array_intersect_key($context, $_parent) + $_parent;
  2. // line 430
  3. yield "
  4. ";
  5. // line 431
  6. yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
  7. // line 432
  8. yield " </div>
  9. </main>
  10. <!-- Footer -->
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1. {
  2. $context += $this->env->getGlobals();
  3. $blocks = array_merge($this->blocks, $blocks);
  4. try {
  5. yield from $this->doDisplay($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->getSourceContext());
  9. }
  1. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "public/contest/index.html.twig"));
  3. $this->parent = $this->load("base.html.twig", 1);
  4. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  5. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  6. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1. {
  2. $context += $this->env->getGlobals();
  3. $blocks = array_merge($this->blocks, $blocks);
  4. try {
  5. yield from $this->doDisplay($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->getSourceContext());
  9. }
  1. return $this->blocks;
  2. }
  3. public function display(array $context, array $blocks = []): void
  4. {
  5. foreach ($this->yield($context, $blocks) as $data) {
  6. echo $data;
  7. }
  8. }
  9. public function render(array $context): string
in vendor/twig/twig/src/Template.php -> display (line 373)
  1. ob_start();
  2. } else {
  3. ob_start(function () { return ''; });
  4. }
  5. try {
  6. $this->display($context);
  7. } catch (\Throwable $e) {
  8. while (ob_get_level() > $level) {
  9. ob_end_clean();
  10. }
  1. yield from $this->template->yieldBlock($name, $context);
  2. }
  3. public function render(array $context = []): string
  4. {
  5. return $this->template->render($context);
  6. }
  7. /**
  8. * @return void
  9. */
  1. * @throws SyntaxError When an error occurred during compilation
  2. * @throws RuntimeError When an error occurred during rendering
  3. */
  4. public function render($name, array $context = []): string
  5. {
  6. return $this->load($name)->render($context);
  7. }
  8. /**
  9. * Displays a template.
  10. *
  1. if (null !== $block) {
  2. return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);
  3. }
  4. return $this->container->get('twig')->render($view, $parameters);
  5. }
  6. private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  7. {
  8. $content = $this->doRenderView($view, $block, $parameters, $method);
  1. return $this->container->get('twig')->render($view, $parameters);
  2. }
  3. private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  4. {
  5. $content = $this->doRenderView($view, $block, $parameters, $method);
  6. $response ??= new Response();
  7. if (200 === $response->getStatusCode()) {
  8. foreach ($parameters as $v) {
  9. if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
  1. * If an invalid form is found in the list of parameters, a 422 status code is returned.
  2. * Forms found in parameters are auto-cast to form views.
  3. */
  4. protected function render(string $view, array $parameters = [], ?Response $response = null): Response
  5. {
  6. return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
  7. }
  8. /**
  9. * Renders a block in a view.
  10. *
AbstractController->render() in src/Controller/Public/ContestController.php (line 126)
  1. if (isset($majorCities[$cityName])) {
  2. $majorCities[$cityName]['contestCount'] = $cityData['contestCount'];
  3. }
  4. }
  5. return $this->render('public/contest/index.html.twig', [
  6. 'majorCities' => $majorCities,
  7. ]);
  8. }
  9. #[Route('/city/{cityName}', name: 'app_city_contests')]
  1. $this->dispatcher->dispatch($event, KernelEvents::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($event, KernelEvents::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. ) {
  2. }
  3. public function run(): int
  4. {
  5. $response = $this->kernel->handle($this->request);
  6. if (Kernel::VERSION_ID >= 60400) {
  7. $response->send(false);
  8. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
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/serv-kompixel-doli/htdocs/doli.serv-kompixel.fr/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

Level Channel Message
INFO 18:17:49 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "f214df"
    },
    "request_uri": "https://doli.serv-kompixel.fr/_profiler/f214df",
    "method": "GET"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke".
{
    "event": "kernel.request",
    "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 18:17:49 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 18:17:49 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 18:17:49 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 18:17:49 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 18:17:49 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 18:17:49 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 18:17:49 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestPayloadValueResolver::onKernelControllerArguments"
}
DEBUG 18:17:49 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}

Stack Traces 2

[2/2] RuntimeError
Twig\Error\RuntimeError:
An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "app_search_city" as such route does not exist.") in "public/contest/index.html.twig" at line 20.

  at templates/public/contest/index.html.twig:20
  at Twig\Template->yieldBlock()
     (var/cache/dev/twig/f5/f51f6a42bd8944be41ab390ab737bdc6.php:552)
  at __TwigTemplate_99c7b99fa4a91567405c05e558c465bc->doDisplay()
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield()
     (var/cache/dev/twig/5f/5f4d23c102116209d5070a2d9f5272f7.php:54)
  at __TwigTemplate_6de3cc0bffcdd1f104ac39bd72bfb142->doDisplay()
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield()
     (vendor/twig/twig/src/Template.php:358)
  at Twig\Template->display()
     (vendor/twig/twig/src/Template.php:373)
  at Twig\Template->render()
     (vendor/twig/twig/src/TemplateWrapper.php:51)
  at Twig\TemplateWrapper->render()
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render()
     (src/Controller/Public/ContestController.php:126)
  at App\Controller\Public\ContestController->index()
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (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/serv-kompixel-doli/htdocs/doli.serv-kompixel.fr/vendor/autoload_runtime.php')
     (public/index.php:5)                
[1/2] RouteNotFoundException
Symfony\Component\Routing\Exception\RouteNotFoundException:
Unable to generate a URL for the named route "app_search_city" as such route does not exist.

  at vendor/symfony/routing/Generator/CompiledUrlGenerator.php:52
  at Symfony\Component\Routing\Generator\CompiledUrlGenerator->generate()
     (vendor/symfony/routing/Router.php:172)
  at Symfony\Component\Routing\Router->generate()
     (vendor/symfony/twig-bridge/Extension/RoutingExtension.php:43)
  at Symfony\Bridge\Twig\Extension\RoutingExtension->getPath()
     (var/cache/dev/twig/5f/5f4d23c102116209d5070a2d9f5272f7.php:116)
  at __TwigTemplate_6de3cc0bffcdd1f104ac39bd72bfb142->block_body()
     (vendor/twig/twig/src/Template.php:446)
  at Twig\Template->yieldBlock()
     (var/cache/dev/twig/f5/f51f6a42bd8944be41ab390ab737bdc6.php:552)
  at __TwigTemplate_99c7b99fa4a91567405c05e558c465bc->doDisplay()
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield()
     (var/cache/dev/twig/5f/5f4d23c102116209d5070a2d9f5272f7.php:54)
  at __TwigTemplate_6de3cc0bffcdd1f104ac39bd72bfb142->doDisplay()
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield()
     (vendor/twig/twig/src/Template.php:358)
  at Twig\Template->display()
     (vendor/twig/twig/src/Template.php:373)
  at Twig\Template->render()
     (vendor/twig/twig/src/TemplateWrapper.php:51)
  at Twig\TemplateWrapper->render()
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render()
     (src/Controller/Public/ContestController.php:126)
  at App\Controller\Public\ContestController->index()
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (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/serv-kompixel-doli/htdocs/doli.serv-kompixel.fr/vendor/autoload_runtime.php')
     (public/index.php:5)