twig = new Twig_Environment( $twig_loader ); $this->twig->addGlobal( 'url', $url ); $this->twig->addGlobal( 'flash', $flash ); $this->twig->addGlobal( 'config', $config ); $this->twig->addFunction( new Twig_SimpleFunction( 'login_header', 'login_header' ) ); $this->twig->addFunction( new Twig_SimpleFunction( 'login_footer', 'login_footer' ) ); $this->error_handler = $error_handler; } /** * @param string $template_name * @param array $params * * @return string */ public function get_view( $template_name, array $params = array() ) { try { return $this->try_render( $template_name, $params ); } catch ( Exception $e ) { return $this->error_handler->capture_exception( $e )->to_notification( $e ); } } /** * @param string $template_name * @param array $params * * @return string * * @throws Twig_Error_Loader * @throws Twig_Error_Syntax * @throws Twig_Error_Runtime */ public function try_render( $template_name, array $params = array() ) { $params['assets_url'] = TWOFAS_ASSETS_URL; $params['login_url'] = wp_login_url(); return $this->twig->render( $template_name, $params ); } }