- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Symfony2 模板使用
Symfony2 模板使用
我们知道,controller负责处理每一个进入Symfony2应用程序的请求。实际上,controller把大部分的繁重工作都委托给了其它地方,以使代码能够被测试和重用。当一个controller需要生成HTML,CSS或者其他内容时,它把这些工作给了一个模板化引擎。
模板:
一个模板仅仅是一个文本文件,它能生成任意的文本格式(HTML,XML,CSV,LaTex...)。最著名的模板类型就是PHP模板了,可以被PHP解析的文本文件,它混合了文本和PHP代码。
复制代码
!DOCTYPE html
html
head
titleWelcome to Symfony!/title
/head
body
h1?php echo $page_title ?/h1
ul id=navigation
?php foreach ($navigation as $item): ?
li
a href=?php echo $item-getHref() ?
?php echo $item-getCaption() ?
/a
/li
?php endforeach; ?
/ul
/body
/html
复制代码
但是Symfony2包中拥有一种更加强大的模板化语言叫Twig。 它允许你写简洁,可读法模板语言。对页面设计师更友好,在许多方面比PHP模板更加强大。
复制代码
!DOCTYPE html
html
head
titleWelcome to Symfony!/title
/head
body
h1{{ page_title }}/h1
ul id=navigation
{% for item in navigation %}
lia href={{ item.href }}{{ item.caption }}/a/li
{% endfor %}
/ul
/body
/html
复制代码
在这个Twig文件中,定义了三个类型的特别语法
{{...}} : 说某些事“, 打印一个变量或者一个表达式的值到模板。
{%...%} : 做某些事”,控制模板逻辑的标签,它用于执行比如for循环语句等。
{# 这是一个注释 #}, 注释“。
Twig也包含filters,在渲染之前修改内容。下面的语句显示把title变量全部渲染为大型。
{{ title|upper }}
Twig默认情况下有一大群的标签(tags)和过滤器(filters)可以使用。当然你也可以根据需要添加扩展。注册一个Twig扩展非常容易,创建一个新服务并把它标记为Twig.extension 标签。就跟你看到的一样,Twig也支持功能和新功能的添加。比如,下面使用一个标准的for标签和cycle功能函数来打印10个div 标签,用odd,even 类代替。
{% for i in 0..10 %}
div alss={{ cycle([odd,even],i) }}
!--一些其它HTML --
/div
{% emdfor %}
Twig模板缓存
Twig很快。 每个Twig模板被编译到原生的PHP类,它将在运行时被渲染。编译过的类被保存在app/cache/{environment}/twig 目录下并在某些情况下,对整个调试非常有用。当debug模式可用时,一个twig模板如果发生改变将会被自动重新编译。这就意味着你可以在开发过程中随意的修改模板,而不必担心需要去清除内存了。当debug模式被关闭时,你必须手动的清除Twig缓存目录,以便能够重新生成Twig模板。
模板继承和布局
大多数的时候,模板在项目中用来共享通用的元素,比如header,footer,sidebar等等。在Symfony2中,我们将采用不同的思考角度来对待这个问题。一个模板可以被另外的模板装饰。这个的工作原理跟PHP类非常像,模板继承让你可以创建一个基础”layout模板,它包含你的站点的所有通用元素并被定义成blocks。这里的block可以类比为PHP基类的方法。 一个字模板可以继承基础layout模板并重写它任何一个block。
现在首先
文档评论(0)