読者です 読者をやめる 読者になる 読者になる

Symfony2のコントローラ内でTwigローダーを変更する

Symfony2 Twig PHP

コントローラでの処理中にファイルからではなく文字列からTwigに渡してレスポンスを生成したかった。
普通にTwig_Environmentを生成してやれば簡単に出来たんだけど、assetsとか使いたくてExtensionも引き継ぎたかったので途中で変更する方法を取った。

こんな感じ。

$this->get('twig')->setLoader(new \Twig_Loader_String());
$resource = $this->get('twig')->render("{{ asset('hogehoge') }}");

return new Response($resource);