app = $app; } 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($this->app->render('error_samesite.twig', array( 'error_title' => 'お使いのブラウザーではご利用いただけません。', 'error_message' => '最新版にアップデートして頂くか、他のブラウザーでご利用ください。', 'ua' => $ua ))); } } /** * @inheritDoc */ public static function getSubscribedEvents() { return array( KernelEvents::REQUEST => 'onKernelRequest', ); } }