storage = $tokenStorage; } public static function getSubscribedEvents(): array { return [ KernelEvents::REQUEST => ['setTimezone', 100], ]; } public function setTimezone(GetResponseEvent $event) { if (!$this->canHandleEvent()) { return; } /** @var User $user */ $user = $this->storage->getToken()->getUser(); $timezone = $user->getPreferenceValue('timezone', date_default_timezone_get()); date_default_timezone_set($timezone); } protected function canHandleEvent(): bool { if (null === $this->storage->getToken()) { return false; } /* @var $user User */ $user = $this->storage->getToken()->getUser(); if (null === $user) { return false; } return ($user instanceof User); } }