【发布时间】:2011-07-13 13:34:17
【问题描述】:
Symfony2 在哪里启动了模板渲染?
我要求处理模板逻辑的最通用类/方法,我猜是通过启动配置的模板引擎,例如 Twig。
或者更具体地提出这个问题...控制器将布局委托给特定模板,例如 example.html.twig ...第一次使用和传递此文件名在哪里?
【问题讨论】:
Symfony2 在哪里启动了模板渲染?
我要求处理模板逻辑的最通用类/方法,我猜是通过启动配置的模板引擎,例如 Twig。
或者更具体地提出这个问题...控制器将布局委托给特定模板,例如 example.html.twig ...第一次使用和传递此文件名在哪里?
【问题讨论】:
在最一般的情况下,假设您使用的是 FrameworkBundle(如果您使用的是标准版,那么您就是),render 函数只调用 $this->container->get('templating')->renderResponse,只是传递参数。
引擎(如 twig 引擎)实现 Symfony\Component\Templating\EngineInterface。
如果您想仔细了解它的工作原理,可以查看 vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php(以及其他相关文件,如 TwigBundle 中的文件)。
【讨论】: