src/Controller/SitemapController.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\StaticRouteLoader;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. class SitemapController extends AbstractController
  8. {
  9.     /**
  10.      * @Route("/sitemap.xml", name="sitemap")
  11.      * @param \App\StaticRouteLoader $staticRouteLoader
  12.      *
  13.      * @return \Symfony\Component\HttpFoundation\Response
  14.      */
  15.     public function sitemap(StaticRouteLoader $staticRouteLoader)
  16.     {
  17.         $routes array_filter($staticRouteLoader->loadRoutes()->all(),
  18.             function (\Symfony\Component\Routing\Route $el) {
  19.                 return $el->getDefault('sitemap') === true;
  20.             }
  21.         );
  22.         $response = new Response($this->renderView('sitemap.xml.twig', ['routes' => $routes]), 200);
  23.         $response->headers->set('Content-Type''text/xml');
  24.         return $response;
  25.     }
  26. }