Преглед изворни кода

added Engine::renderResponse()

Fabien Potencier пре 14 година
родитељ
комит
75ea0b8395

+ 1 - 7
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);
     }
 }

+ 21 - 0
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]);