关于模板引擎--望批评指正
2012-08-23 23:25
267 查看
最近开始接触模板引擎,想先搞懂原理,思想结果,总结了一下。。。。
具体没有什么名词,只是我的想法。。
首先,我的第一个想法:我把模版里的内容读进文件流,然后split拆分,比如
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body><% $a = 12; /%>
</body>
</html>
将<%前的作为一个整体,split后丢掉,用字符数组的第二项,然后再将/%>split,这回用第一个数组,那么就提取出了$a=12;当然,正常情况下不会让我们有这么简单的模版,我想,出现判断语句、循环语句,也要这样一步一步的提取,比如:提取的标记符号之间的东西后,再对中间的东西进行解析,正则,是不是改行开始包含if、for,,判断,如果是,就提取该字符后面括号里面的东西,一步步拆分,丢弃,拆分,丢弃,直到结束。好像很麻烦……
第二:将模版里的关于html标记的东西,全部存入输出函数,像jsp在编译之前总会被编译成java文件一样,只是这个东西得自己写,将标记符号去掉,保存成aspx文件或者cs的文件,然后using该文件,java里就应该是保存成jsp、java文件,然后import它,php里就应该是include。。。。意思就是这样,反正保存了新文件就得用。可是,保存在哪呢??
保存在缓存文件夹下???模版不变就不用重新解释模版,可是模版一旦变了我该怎么办呢?除了php好像都有这种检测机制吧!!!
具体没有什么名词,只是我的想法。。
首先,我的第一个想法:我把模版里的内容读进文件流,然后split拆分,比如
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body><% $a = 12; /%>
</body>
</html>
将<%前的作为一个整体,split后丢掉,用字符数组的第二项,然后再将/%>split,这回用第一个数组,那么就提取出了$a=12;当然,正常情况下不会让我们有这么简单的模版,我想,出现判断语句、循环语句,也要这样一步一步的提取,比如:提取的标记符号之间的东西后,再对中间的东西进行解析,正则,是不是改行开始包含if、for,,判断,如果是,就提取该字符后面括号里面的东西,一步步拆分,丢弃,拆分,丢弃,直到结束。好像很麻烦……
第二:将模版里的关于html标记的东西,全部存入输出函数,像jsp在编译之前总会被编译成java文件一样,只是这个东西得自己写,将标记符号去掉,保存成aspx文件或者cs的文件,然后using该文件,java里就应该是保存成jsp、java文件,然后import它,php里就应该是include。。。。意思就是这样,反正保存了新文件就得用。可是,保存在哪呢??
保存在缓存文件夹下???模版不变就不用重新解释模版,可是模版一旦变了我该怎么办呢?除了php好像都有这种检测机制吧!!!
相关文章推荐
- 关于模板引擎2--望批评指正
- 关于expres模板引擎,Function,with
- 关于模板引擎的前言
- 关于handlebars.js模板引擎
- thinkphp—关于模板时间的获取(模板引擎是Smarty),该如何操作
- 关于简历的一点心得(纯属个人想法,非专业人士,欢迎批评指正~)
- 关于 underscore 中模板引擎的应用示例
- 关于模板引擎handlebars.js基本用法
- 关于thinkphp模板引擎中变量输入的思考
- 关于模板引擎handlebars.js基本用法
- 关于Handlebars.java的模板引擎的使用
- 关于前段模板引擎
- 关于Django模板引擎的研究
- 关于将Layui的模板引擎放入到弹框中,弹出!
- 关于 underscore 中模板引擎的应用演示样例
- 翻译处女作欢迎批评指正-tornado的模板系统文档
- 关于微软的OBA架构理解(欢迎大家批评指正^_^)
- 关于js artTemplate模板引擎多数据注入的理解,与应用。
- 关于js模板引擎 arttemplate 的使用
- 在 CodeIgniter 2中集成 Smarty 3 模板引擎