From 75ea0b83957c8e03d02e568ac976cf7e95ec3e11 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Sat, 14 Aug 2010 19:51:28 +0200 Subject: [PATCH] added Engine::renderResponse() --- .../Bundle/FrameworkBundle/Controller.php | 8 +------ .../FrameworkBundle/Templating/Engine.php | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Controller.php b/src/Symfony/Bundle/FrameworkBundle/Controller.php index cae6aed465..1913d58f49 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Controller.php +++ b/src/Symfony/Bundle/FrameworkBundle/Controller.php @@ -133,12 +133,6 @@ class Controller */ public function render($view, array $parameters = array(), Response $response = null) { - if (null === $response) { - $response = $this->container->get('response'); - } - - $response->setContent($this->container->get('templating')->render($view, $parameters)); - - return $response; + return $this->container->get('templating')->renderResponse($view, $parameters, $response); } } diff --git a/src/Symfony/Bundle/FrameworkBundle/Templating/Engine.php b/src/Symfony/Bundle/FrameworkBundle/Templating/Engine.php index d05c48141d..ccc85afd15 100755 --- a/src/Symfony/Bundle/FrameworkBundle/Templating/Engine.php +++ b/src/Symfony/Bundle/FrameworkBundle/Templating/Engine.php @@ -6,6 +6,7 @@ use Symfony\Components\Templating\Engine as BaseEngine; use Symfony\Components\Templating\Loader\LoaderInterface; use Symfony\Components\OutputEscaper\Escaper; use Symfony\Components\DependencyInjection\ContainerInterface; +use Symfony\Components\HttpFoundation\Response; /* * This file is part of the Symfony package. @@ -78,6 +79,26 @@ class Engine extends BaseEngine return $content; } + /** + * Renders a view and returns a Response. + * + * @param string $view The view name + * @param array $parameters An array of parameters to pass to the view + * @param Response $response A Response instance + * + * @return Response A Response instance + */ + public function renderResponse($view, array $parameters = array(), Response $response = null) + { + if (null === $response) { + $response = $this->container->get('response'); + } + + $response->setContent($this->render($view, $parameters)); + + return $response; + } + public function has($name) { return isset($this->helpers[$name]);