没有自定义控制器如何呈现一个模板

编辑该页面

警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.7,不再维护。

这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。

没有自定义控制器如何呈现一个模板

通常,当您需要创建一个页面,您需要创建一个控制器和呈现一个模板中,控制器。但如果你是呈现一个简单的模板,不需要任何数据传递给它,你可以完全避免创建控制器,通过使用内置的FrameworkBundle:模板:模板控制器。

例如,假设您想呈现一个静态/ privacy.html.twig模板,不需要传递给它的任何变量。你可以不创建一个控制器:

  • YAML
  • XML
  • PHP
1 2 3 4 5
acme_privacy:路径:/隐私默认值:_controller:FrameworkBundle:模板:模板模板:静态/ privacy.html.twig

FrameworkBundle:模板:模板控制器会呈现任何模板你通过模板默认值。

当然也可以使用这个技巧在呈现嵌入式控制器在一个模板。但由于从模板中呈现一个控制器的目的通常是准备一些数据在一个定制的控制器中,这可能是唯一有用的如果你想这个页面缓存部分(见没有自定义控制器如何呈现一个模板)。

  • 嫩枝
  • PHP
1
{{渲染(url (acme_privacy))}}

缓存静态模板

由于模板,以这种方式呈现通常是静态的,它可能是有意义的对其进行缓存。幸运的是,这是很容易的!通过配置一些其他变量在你的路线,你可以控制如何页面缓存:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7
acme_privacy:路径:/隐私默认值:_controller:FrameworkBundle:模板:模板模板:“静态/ privacy.html.twig”maxAge:86400年sharedAge:86400年

maxAgesharedAge值是用来修改控制器中创建的响应对象。缓存的更多信息,请参阅HTTP缓存

还有一个私人变量(这里没有显示)。默认情况下,响应将被公开,只要maxAgesharedAge传递。如果设置为真正的,响应将被标记为私有的。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。