config = $container->getParameter($alias); //Set the translator $this->translator = $translator; //Set the environment $this->environment = $environment; //Set the context $this->context = [ 'copy_long' => $translator->trans($this->config['copy']['long']), 'copy_short' => $translator->trans($this->config['copy']['short']), 'site_ico' => $this->config['site']['ico'], 'site_logo' => $this->config['site']['logo'], 'site_png' => $this->config['site']['png'], 'site_svg' => $this->config['site']['svg'], 'site_title' => $translator->trans($this->config['site']['title']), 'site_url' => $router->generate($this->config['site']['url']) ]; } /** * {@inheritdoc} */ public function handle(Request $request, AccessDeniedException $exception) { //Set section $section = $this->translator->trans('Access denied'); //Set title $title = $section.' - '.$this->translator->trans($this->config['site']['title']); //Set message //XXX: we assume that it's already translated $message = $exception->getMessage(); //Render template return new Response( $this->environment->render( '@RapsysAir/security/denied.html.twig', [ 'title' => $title, 'section' => $section, 'message' => $message ]+$this->context ), 403 ); } }