php template模板使用,arttemplate3.0使用教程语法详解

做网站评论的时候,我想到了用js模板引擎arttemplate去做。首先我要说下,为什么要使用arttemplate模板引擎不使用第三方的社交评论插件?评论作为网站不可或缺的一部分,数据的质量要求不高,对于网站的seo可有可无。

之前使用畅言和多说,我发现有个问题就是每次页面加载的时候,都比较的慢。这也是我放弃第三方的主要原因。

还有就是在使用第三方社交评论的时候,很显然的看到,自己写的文章被他们抓取了,感觉不爽。这是次要原因。

闲话,不扯了,下面我们看看arttemplatejs模板引擎的具体使用方法?arttemplatejs模板引擎下载地址:https://github.com/aui/artTemplate

第一:特性

性能卓越,执行速度通常是 Mustache 与 tmpl 的 20 多倍

支持运行时调试,可精确定位异常模板所在语句

对 NodeJS Express 友好支持

安全,默认对输出进行转义、在沙箱中运行编译后的代码(Node版本可以安全执行用户上传的模板)

支持include语句,可在浏览器端实现按路径加载模板

支持预编译,可将模板转换成为非常精简的 js 文件

模板语句简洁,无需前缀引用数据

支持所有流行的浏览器

第二:arttemplate模板引擎具体的使用。

1、引入template.js。这里说明一下。arttemplatejs模板引擎提供两套语法。

简洁版语法加载js:template.js(简洁语法版, 2.7kb)

原生版语法加载js:template-native.js (原生语法版, 2.3kb)

我和个人觉得使用简洁版就好了,用起来比较简单。

简洁版语法和原生版语法讲解在下面。

2、编写前端的模版// 数据写入的位置

// js模板样式

{{title}}

{{each list as value i}}

索引 {{i + 1}} :{{value}}

{{/each}}

3、渲染模板var data = {

title: '标签',

list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']

};

var html = template('test', data);

document.getElementById('content').innerHTML = html;

4、模板语法

有两个版本的模板语法可以选择。

1).简洁语法

推荐使用,语法简单实用,利于读写。{{if admin}}

{{include 'admin_content'}}

{{each list}}

{{$index}}. {{$value.user}}

{{/each}}

{{/if}}

2).原生语法

5、下面主要介绍简洁版语法。

5.1、表达式{{ 与 }} 符号包裹起来的语句则为模板的逻辑表达式。

输出表达式

5.2、对内容编码输出:{{content}}

5.3、不编码输出:{{#content}}

编码可以防止数据中含有 HTML 字符串,避免引起 XSS 攻击。

5.4、条件表达式{{if admin}}

admin

{{else if code > 0}}

master

{{else}}

error!

{{/if}}

5.5、遍历表达式

无论数组或者对象都可以用 each 进行遍历。{{each list as value index}}

{{index}} - {{value.user}}

{{/each}}

亦可以被简写:{{each list}}

{{$index}} - {{$value.user}}

{{/each}}

5.6、模板包含表达式

用于嵌入子模板。{{include 'template_name'}}

子模板默认共享当前数据,亦可以指定数据:{{include 'template_name' news_list}}

5.7、辅助方法

使用template.helper(name, callback)注册公用辅助方法:template.helper('dateFormat', function (date, format) {

// ..

return value;

});

模板中使用的方式:{{time | dateFormat:'yyyy-MM-dd hh:mm:ss'}}

支持传入参数与嵌套使用:{{time | say:'cd' | ubb | link}}

到这里arttemplatejs模板引擎最基本的使用方法就介绍完毕了。要是想更多的了解arttemplatejs模板引擎的使用方法,请看官网的介绍。

第三:实例。如何正确的使用arttemplatejs模板引擎。

我这里是那thinkphp的使用来讲解,程序思路是一样的。可以借鉴。

php代码:$data = M('table')->select();

// 切记将数据打包成json格式

$this->assign('data',json_encode($data));

$this->display();

如图:

6b24ae018a66dc70170d6699b3e21149.png

前端模板页面:

{{each list as value i}}

{{i}} => {{value.title}}

{{/each}}

var data = {

list: {$data}, // 你所查询到的数据 json字符串

};

var html = template('test', data);

document.getElementById('content').innerHTML = html;

如图:

3ee2ca8987b00b341eb07b2a7dcd615f.png

到这里arttemplatejs模板引擎的使用方法就介绍完毕了。感兴趣的赶紧试试吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值