diff --git a/src/Symfony/Bundle/FrameworkBundle/Fragment/ContainerAwareHIncludeFragmentRenderer.php b/src/Symfony/Bundle/FrameworkBundle/Fragment/ContainerAwareHIncludeFragmentRenderer.php index db54106358..da273cd7a7 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Fragment/ContainerAwareHIncludeFragmentRenderer.php +++ b/src/Symfony/Bundle/FrameworkBundle/Fragment/ContainerAwareHIncludeFragmentRenderer.php @@ -41,7 +41,7 @@ class ContainerAwareHIncludeFragmentRenderer extends HIncludeFragmentRenderer public function render($uri, Request $request, array $options = array()) { if (!$this->templating) { - $this->templating = $this->container->get('templating'); + $this->setTemplating($this->container->get('templating')); } return parent::render($uri, $request, $options); diff --git a/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php b/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php index bd057169b0..1f6c2634bf 100644 --- a/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php +++ b/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php @@ -24,10 +24,9 @@ use Symfony\Component\HttpKernel\UriSigner; */ class HIncludeFragmentRenderer extends RoutableFragmentRenderer { - protected $templating; - private $globalDefaultTemplate; private $signer; + private $templating; /** * Constructor. @@ -37,14 +36,24 @@ class HIncludeFragmentRenderer extends RoutableFragmentRenderer * @param string $globalDefaultTemplate The global default content (it can be a template name or the content) */ public function __construct($templating = null, UriSigner $signer = null, $globalDefaultTemplate = null) + { + $this->setTemplating($templating); + $this->globalDefaultTemplate = $globalDefaultTemplate; + $this->signer = $signer; + } + + /** + * Sets the templating engine to use to render the default content. + * + * @param EngineInterface|\Twig_Environment|null $templating An EngineInterface or a \Twig_Environment instance + */ + public function setTemplating($templating) { if (null !== $templating && !$templating instanceof EngineInterface && !$templating instanceof \Twig_Environment) { throw new \InvalidArgumentException('The hinclude rendering strategy needs an instance of \Twig_Environment or Symfony\Component\Templating\EngineInterface'); } $this->templating = $templating; - $this->globalDefaultTemplate = $globalDefaultTemplate; - $this->signer = $signer; } /**