src/EventListener/LocaleResourceListener.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Symfony\Component\HttpKernel\Event\RequestEvent;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Sylius\Component\Locale\Provider\LocaleProviderInterface;
  6. use Sylius\Bundle\ShopBundle\Locale\LocaleSwitcherInterface;
  7. final class LocaleResourceListener
  8. {
  9.     private const DOMAIN_LOCALES = [
  10.         'www.papapiqueetmamancoud.com' => 'en_US',
  11.         'others'    => 'fr_FR'
  12.     ];
  13.     public function __construct(private LocaleProviderInterface $localeProvider,
  14.         private LocaleSwitcherInterface $localeSwitcher)
  15.     {
  16.        
  17.     }
  18.     public function localeChecker(RequestEvent $event): Response {
  19.         if(array_key_exists($event->getRequest()->getHost(), self::DOMAIN_LOCALES)) {
  20.             return $this->localeSwitcher->handle($event->getRequest(), self::DOMAIN_LOCALES[$event->getRequest()->getHost()]);
  21.         }
  22.         return $this->localeSwitcher->handle($event->getRequest(), self::DOMAIN_LOCALES['others']);
  23.     }
  24. }