twig模板引擎使用笔记

twig模板引擎使用笔记

ID:8980509

大小:20.51 KB

页数:5页

时间:2018-04-13

twig模板引擎使用笔记_第1页
twig模板引擎使用笔记_第2页
twig模板引擎使用笔记_第3页
twig模板引擎使用笔记_第4页
twig模板引擎使用笔记_第5页
资源描述:

《twig模板引擎使用笔记》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Twig模板引擎使用笔记安装配置1.新建一个目录libs2.在该目录下新建文件composer.json,往该文件写入以下内容:3.{4."require":{5."twig/twig":"1.*"6.}7.}8.在libs目录上执行composerinstall安装Twig(前提是已安装Composer包管理器)9.在libs上级目录新建三个文件夹:templates、templates_c、web,其中templates用来存放模板文件,templates_c用来存放编译缓存文件,web用来存放PHP源文件10.在libs上级目录新建文件MyTwig.

2、php公共文件,内容如下:11.//引用Composer自动加载文件12.require_oncedirname(__FILE__).'/libs/vendor/autoload.php';13.14.//注册Twig加载器15.Twig_Autoloader::register();16.17.//设置基本的配置项18.$loader=newTwig_Loader_Filesystem(dirname(__FILE__).'/templates');19.$twig=newTwig_Environment($loader,array(20.'cache'

3、=>dirname(__FILE__).'/templates_c',21.'auto_reload'=>true22.));23.后续使用时,只需让web目录下的PHP文件引用该公共文件,且在templates目录下放置好对应的模板即可,引用公共文件的语句为:require_oncedirname(dirname(__FILE__)).'/MyTwig.php';24.基本的模板渲染语句:echo$twig->render('abc.html.twig',array('name'=>'Ruchee'));可用符号==!=<>>=<=+-~*///%**

4、

5、[]...andornotinisb-andb-orb-xor部分符号的含义如下·~:连接两字符串,相当于PHP中的点号·//:整除·**:乘方,相当于PHP中的^·b-and、b-or、b-xor:按位与、按位或、按位异或·-:减法以及去除空白的简写用法,如{{-数据}}=>去除左边的空白、{{数据-}}=>去除右边的空白、{{-数据-}}=>去除两边的空白变量可使用{%set变量名=变量值%}声明变量,也可写成{%set变量名%}变量值{%endset%}PHP中非关联数组被映射成[元素1,元素2,...],关联数组则被映射成{键1:值1,键2:值2,

6、...}数据统一用foo.bar的形式表示,如果bar是形如my-name的名字,则需写成attribute(foo,'my-name'),下面是Twig对foo.bar的解析顺序:1.当成数组的元素foo['bar']2.当成对象的属性foo.bar3.当成对象的方法foo.bar()4.调用对象的get方法foo.getBar()5.调用对象的is方法foo.isBar()6.以上都没匹配上则返回null几个内建的全局变量·_self:当前模板的引用·_context:当前上下文的引用·_charset:当前字符集设置的引用测试语句·三元运算符。如{{

7、''?'a':'b'}}=>'b'·xxxisyyy·xxxisnotyyy控制结构·{%ifaaa%}xxx{%elseifbbb%}yyy{%else%}zzz:判断语句·{%for%}xxx{%endfor%}:迭代变量·{%do%}:没什么其他含义,{%do1+2%}等同于{{1+2}}·{%flush%}:刷新输出缓冲,等同于flush·{%include%}:包含模板·{%extends%}:扩展模板·{%embed%}xxx{%endembed%}:包含模板并扩展该模板的内容,相当于include和extends的结合体·{%use%}:包含

8、模板,近似于多重继承·{%fromaaaimportbbbasccc%}:从指定模板导入宏并设置别名·{%macro%}xxx{%endmacro%}:定义宏以便多次调用,与定义PHP函数无异·{%sandbox%}{%includexxx%}{%endsandbox%}:对导入的模板指定沙箱模式,只对include语句有效,只在沙箱模式已开启的情况下生效·{%blockxxx%}或{%block%}xxx{%endblock%}:定义代码块或覆盖代码块·{%setxxx%}或{%set%}xxx{%endset%}:在模板内定义变量·{%filter%}

9、xxx{%endfilter%}:多行过滤器·{%spaceles

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。