twig = $twig; } public function onKernelRequest(GetResponseEvent $event) { if (!$event->isMasterRequest()) { return; } $ua = $event->getRequest()->headers->get('User-Agent'); $isUnsupported = array_filter(self::$TARGET_UA_PATTERNS, function ($pattern) use ($ua) { return preg_match($pattern, $ua); }); if ($isUnsupported) { $event->setResponse(new Response($this->twig->render('error_samesite.twig', [ 'error_title' => 'お使いのブラウザーではご利用いただけません。', 'error_message' => '最新版にアップデートして頂くか、他のブラウザーでご利用ください。', 'ua' => $ua ]))); } } /** * {@inheritdoc} */ public static function getSubscribedEvents() { return [ 'kernel.request' => ['onKernelRequest', 256], ]; } }