Symfony2中模板渲染的位置
Symfony2 中的模板渲染是在哪里启动的?
我要求处理模板逻辑的最通用的类/方法,我想通过启动配置的模板引擎,例如 Twig。
或者更具体地提出问题......控制器将布局委托给特定模板,例如 example.html.twig ...这个文件名第一次使用和传递的位置在哪里?
Where in Symfony2 is template rendering launched?
I am asking for the most general class/method handling the template logic, I guess by launching the configured template engine, like Twig for example.
Or to put the question even more concretely ... a controller delegates the layout to a specific template, like example.html.twig ... where is this filename used and passed for the first time?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在最一般的情况下,假设您使用的是 FrameworkBundle(如果您使用的是标准版),则
render
函数仅调用$this->container->; get('temptting')->renderResponse
,只是传递参数。引擎(如 twig 引擎)实现
Symfony\Component\Templated\EngineInterface
。如果您愿意,可以查看
vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
(以及其他相关文件,例如 TwigBundle 中的文件)仔细看看它是如何工作的。In the most general case, assuming you're using the FrameworkBundle (if you're using Standard Edition, you are), the
render
function just calls$this->container->get('templating')->renderResponse
, just passing along the parameters.Engines (like the twig engine) implement
Symfony\Component\Templating\EngineInterface
.You can check out
vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
(and the other relevant files, like the ones in the TwigBundle), if you'd like to take a close look at how it works.