欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【PHP技巧:详解phplib模板使用过程及运行原理】,下面是详细的分享!
PHP技巧:详解phplib模板使用过程及运行原理
index.htm文件内容:
| 以下为引用的内容: <html> index.php内容: <? |
详细分析过程:
一、$t->set_file ("Index", "index.htm"); $this->file[index]=index.htm
二、$t->set_block("Index", "RowSort", "RowsSort");
1、载入index文件index.htm内容并赋给变量$this->varvals[index]
2、$str=$this->varvals[index]获取模板文件内容
3、用preg_match_all函数来匹配模板文件中对应的block(RowSort)里的内容,并存储到$m[1][0]中
4、lock(RowSort)里的内容(包括头和尾)替换为{RowSort}
5、变量$this->varvals[RowSort]=$m[1][0] , $this->varkeys[RowSort]=/{RowSort}/
6、变量$this->varvals[index]=$str(内容已发生改变,见第4步) , $this->varkeys[index]=/{index}/
三、$t->set_var("SortList", $list_sort);
设置$this->varvals[SortList]=$list_sort
设置$this->varkeys[SortList]=/{SortList}/
四、$t->parse("RowsSort", "RowSort", true);(此操作根据sort大小重复进行)
1、利用subst函数把$this->varvals数组中的所有变量值对其中可能含有的特殊字符\和$进行处理(\和$分别替换为\\和\$,这样可以确保下一步的preg_replace不出现意外),并赋给$varvals_quoted数组
2、$str=$this->varvals[RowSort]
3、我们可以看出此时$str中含有一个{SortList},而由三:$this->varkeys[SortList]=/{SortList}/,$this->varvals[SortList]=$list_sort
4、可见经过preg_replace我们得到的$str是已经解析了PHP模板变量{SortList}之后的内容了,返回$str
5、给$this->varvals[RowSort]进行延续赋值 //这里有个问题大家可能会考虑到就是显示的时候最开始那个{RowSort}未被解析,不用担心,phplib有finish函数会对它根据你的要求进行处理
五、$t->parse("OUT", "Index");
1、可以看出,这时$this->varvals[index]中有一个PHP模板变量要进行解析,即{RowSort}
2、而在前面几步中,我们已经把$this->varvals[RowSort]的内容解析好
3、这样以来,我们把全部PHP模板变量均已解析后的内容赋给变量$this->varvals[OUT]
六、$t->p["OUT"];
显然phplib中p函数即为输出函数,我们直接把$this->varvals[OUT]输出即可
//这里要注意的是输出之前有个phplib自动进行的动作,就是对未被解析的PHP模板变量根据你的要求进行处理。
以上所分享的是关于PHP技巧:详解phplib模板使用过程及运行原理,下面是编辑为你推荐的有价值的用户互动:
相关问题:Smarty 还是 PHPLIB 还是 FastTemplate好啊?? - ...
答:刚看了一下Smarty。。感觉功能应该比较强大,但现在这项目只有2个星期时间,而且全都只有我一个人在做,页面,美工,程序,学Smarty还要时间。我还是用易用些的好了,是不是FastTemplate比较易用? >>详细
相关问题:leyangjun:php中模板,模块,模型的区别?请帮助详解...
答:模板 是显示层、不涉及逻辑代码的 一般是html、css、js代码 或者是一些php函数接口 它不涉及sql语句---这在模型实现 也不涉及接收变量 $post = $_POST[''];---这在控制器实现。 模型 是专门处理逻辑的的一层---就是对数据库进行操作,一般是写sq... >>详细
相关问题:discuss 论坛套的是什么模板呀?phplib?还是其他的
答:Dz 本身的模板就是官方的模板 要下载其它的模板 可以到官方BBS 模板区下载 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
