Twig模引板擎使用笔记.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Twig模引板擎使用笔记

Twig模板引擎使用笔记安装配置新建一个目录 libs 在该目录下新建文件 composer.json,往该文件写入以下内容: { require: { twig/twig: 1.* }}在 libs 目录上执行 composer install 安装 Twig(前提是已安装 Composer 包管理器) 在 libs 上级目录新建三个文件夹:templates、templates_c、web,其中 templates 用来存放模板文件,templates_c 用来存放编译缓存文件,web 用来存放 PHP 源文件 在 libs 上级目录新建文件 MyTwig.php 公共文件,内容如下: // 引用 Composer 自动加载文件require_oncedirname(__FILE__)./libs/vendor/autoload.php;// 注册 Twig 加载器Twig_Autoloader::register();// 设置基本的配置项$loader = new Twig_Loader_Filesystem(dirname(__FILE__)./templates);$twig = new Twig_Environment($loader, array( cache = dirname(__FILE__)./templates_c, auto_reload = true));后续使用时,只需让 web 目录下的 PHP 文件引用该公共文件,且在 templates 目录下放置好对应的模板即可,引用公共文件的语句为:require_oncedirname(dirname(__FILE__))./MyTwig.php; 基本的模板渲染语句:echo $twig-render(abc.html.twig, array(name = Ruchee)); 可用符号== != = = + - ~ * / // % ** | [] . .. and or not in is b-and b-or b-xor部分符号的含义如下 ~:连接两字符串,相当于 PHP 中的点号 //:整除 **:乘方,相当于 PHP 中的 ^ b-and、b-or、b-xor:按位与、按位或、按位异或-:减法以及去除空白的简写用法,如 {{- 数据 }} = 去除左边的空白、{{ 数据 -}} = 去除右边的空白、{{- 数据 -}} = 去除两边的空白 变量可使用 {% set 变量名=变量值 %} 声明变量,也可写成 {% set 变量名 %} 变量值 {% endset %} PHP 中非关联数组被映射成 [元素1, 元素2, ...],关联数组则被映射成 {键1: 值1, 键2: 值2, ...} 数据统一用 foo.bar 的形式表示,如果 bar 是形如 my-name 的名字,则需写成 attribute(foo, my-name),下面是 Twig 对 foo.bar 的解析顺序: 当成数组的元素 foo[bar] 当成对象的属性 foo.bar当成对象的方法 foo.bar() 调用对象的 get 方法 foo.getBar() 调用对象的 is 方法 foo.isBar() 以上都没匹配上则返回 null 几个内建的全局变量 _self:当前模板的引用 _context:当前上下文的引用 _charset:当前字符集设置的引用 测试语句三元运算符。如 {{ ? a : b }} = b xxx is yyyxxx is not yyy控制结构{% if aaa %} xxx {% elseifbbb %} yyy {% else %} zzz:判断语句 {% for %} xxx {% endfor %}:迭代变量 {% do %}:没什么其他含义,{% do 1+2 %} 等同于 {{ 1+2 }} {% flush %}:刷新输出缓冲,等同于 flush {% include %}:包含模板 {% extends %}:扩展模板 {% embed %} xxx {% endembed %}:包含模板并扩展该模板的内容,相当于 include 和 extends 的结合体 {% use %}:包含模板,近似于多重继承 {% from aaa import bbb as ccc %}:从指定模板导入宏并设置别名 {% macro %} xxx {% endmacro %}:定义宏以便多次调用,与定义 PHP 函数无异 {% sandbox %} {% include xxx %} {% endsandbox %}:对导入的模板指定沙箱模式,只对 include 语句有效,只在沙

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档