src/Controller/Component/HeaderController.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Component;
  3. use App\Repository\CityRepository;
  4. use App\Service\DefaultCityProvider;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class HeaderController extends AbstractController
  11. {
  12.     #[Route("/header/"name:"component.header")]
  13.     public function header(Request $requestCityRepository $cityRepositoryDefaultCityProvider $defaultCityProvider): Response
  14.     {
  15.         $city $request->query->get('city');
  16.         $city $city $cityRepository->ofUriIdentity($city) : $defaultCityProvider->getDefaultCity();
  17.         if(!$request->isXmlHttpRequest()) {
  18.             throw new BadRequestHttpException();
  19.         }
  20.         return $this->render('_component/header.html.twig', [
  21.             'city' => $city,
  22.         ]);
  23.     }
  24. }