Symfony2のコントローラ内でTwigローダーを変更する
コントローラでの処理中にファイルからではなく文字列からTwigに渡してレスポンスを生成したかった。
普通にTwig_Environmentを生成してやれば簡単に出来たんだけど、assetsとか使いたくてExtensionも引き継ぎたかったので途中で変更する方法を取った。
こんな感じ。
$this->get('twig')->setLoader(new \Twig_Loader_String()); $resource = $this->get('twig')->render("{{ asset('hogehoge') }}"); return new Response($resource);