80行Lua代码实现一个满足基本要求的模版引擎(2)

由此可见渲染的速度还是非常快的,可以将此原型用于嵌入式设备中的页面上(用大量js实现的嵌入式设备页面兼容性不好)。而且嵌入式设备的界面需要简单明确,所以也不用太丰富的模版功能。

原理很简单:

1.用lua版的正则把模版内{#与#}之间的内容挖出来,原样输出成lua代码,其它部分则生成使用echo打印到某个缓冲区的lua代码。

2.将这个生成出来的代码使用loadstring编译。

3.通过setfenv实现loadstring后的模拟环境配置(用以提供模版内使用的echo,ob_start等函数,以及传入的参数)

4.执行这个编译后的函数即可。

Lua 的详细介绍请点这里
Lua 的下载地址请点这里

推荐阅读

Lua 语言 15 分钟快速入门

Lua程序设计(第2版)中文 PDF

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8d28a18ec869eacf2a623713758bbf3b.html