这是一款超小型的php模板引擎,代码只有16KB!
在开发了Lolly框架之后,我把它运用到了开发中!但是Lolly自带的模板引擎Lytpl功能太少,于是就写了这个模板引擎!
Wetpl和Lytpl有一些代码是一样的,只不过Wetpl功能更多,更轻量!
{% import html/head.html %} {% #使用import可以导入其他的模板 %} {% # 下面是一个简单的个人信息例子! %} {% go conf %}我被跳过了!{% point conf: %}我的名字:{% $conf['name'] %}我的年龄:{% $conf['age'] %} 我的爱好: {% loop $v in $conf['hobby'] %} {% $v %} {% end %}一段介绍:{% $conf['about'] %}{% # 下面介绍一下其它东西 %} {% func demo1(): echo '我是一个函数,我的名字叫做"demo1",我会自己说话'; %} {% func demo2(): return '我是一个函数,我的名字叫做"demo2",我不会自己说话,只有你让我说话时我才能说话'; %}{% demo1() %}{% # 上面的在调用之后会自己输出 %}{% &demo2() %}{% # 如果想输出他的返回值的话,只需要在前面加上'&' %} {% # 下面是关于赋值的操作 %} {% % demo2() to $demo2_val %} {% % $demo2_val to $demo2_val_2 %} {% % 1 to $n %} {% #Ps:赋值的前面要有'%' %} {% % $a = 1 %} {% % $a += 1 %} {% # 使用这种方法赋值也是可以的,更简单 %} {% #类似于 $n += 1 ('+'可以为 +、-、*、/、.) %} {% % 1 to + $n %}{% #最重要的判断语句 %} {% % 1 + 1 * 1 to $num %} {% if $num == 1 %} if:1 + 1 * 1 = 1! {% elif $num == 3 %} elif了:1 + 1 * 1 = 3! {% else %} else: 1 + 1 * 1 = {% $num %}! {% end %}{% #还有循环 %} {% for $i = 0;$i < 10;$i++ %} for:{% $i + 1 %} {% end %} {% % 0 to $j %} {% while $j < 10 %} while:{% $j + 1 %} {% % 1 to + $j %} {% end %} {% % [1,2,3,4,5] to $arr %} {% loop $key,$val in $arr %} {% $key %} => {% $val %} {% end %} {% loop $value in $arr %} {% $value %} {% end %} {% # 如果需要用到其他东西,可以使用php:直接运行php代码 %} {% php: echo "通过直接运行php输出"; %}{% import html/tail.html %}
Wetpl可以被用于任何地方,在使用时你只需要一个函数:
echo Wetpl::render('html/demo.html',['xxx' => 'xxx']);
第一个参数是文件位置,第二个是传过去到变量,另外第三个和第四个是可选的,分别是左分隔符和右分隔符!
具体查看ejs官方文档 https://github.com/mde/ejs
我们自己实现了一个轻量级的模板引擎,不要问为什么不用smart之类的,因为我们认为没有必要为了一个小小的模板引擎而引入smaart这样复杂的实现。你可能会说,smart功能强大,支持各种标签,标签也是很强大,而且还可以对模板引擎进行各种"灵活"的配置... 这里我们觉得有必要说明一下: 框架的内置模板引擎基本上实现了我们日常开中所有常用的标签。 不常用的标签我们也做了巧妙的实现。 我们只提供了扩展
内置模板引擎 视图的模板文件可以支持不同的解析规则,默认情况下无需手动初始化模板引擎。 可以通过下面的几种方式对模板引擎进行初始化。 配置文件 内置模板引擎的参数统一在配置目录的template.php文件中配置,例如: return [ // 模板引擎类型 支持 php think 支持扩展 'type' => 'Think', // 模板路径 '
Warning: The packages listed below may be outdated, no longer maintained or even broken. Listing here does not constitute an endorsement or recommendation from the Expressjs project team. Use at your
Use the app.engine(ext, callback) method to create your own template engine. ext refers to the file extension, and callback is the template engine function, which accepts the following items as parame
hi-nginx-java内置了两个mustache模板引擎:mustache.java和jmustache。 以下介绍仅就jmustache而言。 字符串模板 字符串模板是最简单的情况。例如: package test; import hi.request; import hi.response; import hi.route; import java.util.regex.Matcher
快速开始 安装模块 # 安装koa模板使用中间件 npm install --save koa-views # 安装ejs模板引擎 npm install --save ejs 使用模板引擎 demo源码 https://github.com/ChenShenhai/koa2-note/blob/master/demo/ejs/ 文件目录 ├── package.json ├── index.js
模版引擎 引入 我们在使用ajax请求数据时,返回的如果是一个 JSON 格式的字符串,我们需要将其包装到对应的HTML代码中,再添加到页面上,才能看到效果。那么这个包装得过程有没有简单的方法呢? 假设在 js 中有如下数据: var obj = { name:"fox", age:18, skill:"卖萌" }; 希望包装为: <