@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许可证。