@Template

编辑本页

@Template

使用

@Template注释将控制器与模板名关联起来:

  • 注释
  • 属性
12 3 4 5 6 7 8 9 10 11 12
使用Sensio赞助FrameworkExtraBundle配置模板/ * * *@Template(“@SensioBlog* / / post / show.html.twig”)公共函数显示id//获取邮报帖子=……;返回数组“职位”= >帖子);}

当使用@Template注释,控制器应该返回一个参数数组来传递给视图,而不是响应对象。

请注意

如果你想要流化你的模板,你可以使用以下配置:

  • 注释
  • 属性
1 2 3 4 5 6 7
/ * * *@Template(isStreamable = true) * /公共函数显示id/ /……

提示

如果该操作返回响应对象,@Template注释被简单地忽略。

如果模板是以控制器名和动作名命名的,就像上面的例子一样,你甚至可以省略注释值:

  • 注释
  • 属性
1 2 3 4 5 6 7 8 9 10
/ * * *@Template* /公共函数显示id//获取邮报帖子=……;返回数组“职位”= >帖子);}

提示

子名称空间转换为下划线。的Sensio赞助\ BlogBundle \控制器\ UserProfileController: showDetails ()行动将解决@SensioBlog / user_profile / show_details.html.twig

如果传递给模板的唯一参数是方法参数,则可以使用var属性,而不是返回数组。这是非常有用的结合@ParamConverter注释

  • 注释
  • 属性
1 2 3 4 5 6 7
/ * * *@ParamConverter("post", class="SensioBlogBundle: post") *@Template(“@SensioBlog/ post / show.html。Twig ", vars={"post"}) */公共函数显示(文章帖子{}

由于约定,它等价于以下配置:

  • 注释
  • 属性
1 2 3 4 5 6
/ * * *@Template(var ={“post”})* /公共函数显示(文章帖子{}

如果方法返回,所有方法参数都会自动传递给模板,因此可以使它更简洁也没有var属性定义如下:

  • 注释
  • 属性
1 2 3 4 5 6
/ * * *@Template* /公共函数显示(文章帖子{}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。