加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP技巧 详解phplib模板运用过程及运行原理

发布时间:2022-03-08 20:16:55 所属栏目:PHP教程 来源:互联网
导读:index.htm文件内容: 以下为引用的内容: html head body !-- BEGIN RowSort -- {SortList}br !-- END RowSort -- /body /head /html index.php内容: ? $t-set_file (Index, index.htm); $t-set_block(Index, RowSort, RowsSort); ......................
  index.htm文件内容:
 
  以下为引用的内容:
  <html>
  <head>
  <body>
  <!-- BEGIN RowSort -->
  {SortList}<br>
  <!-- END RowSort -->
  </body>
  </head>
  </html>
 
  index.php内容:
 
  <?
  $t->set_file ("Index", "index.htm");
  $t->set_block("Index", "RowSort", "RowsSort");
  ..............................................
  .................$list_sort...................
  $t->set_var("SortList", $list_sort);
  $t->parse("RowsSort", "RowSort", true);
  ..............................................
  ..............................................
  $t->parse("OUT", "Index");
  $t->p("OUT");
  ?>
 
  详细分析过程:
 
  一、$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("OUT", "Index");
 
  1、可以看出,这时$this->varvals[index]中有一个PHP模板变量要进行解析,即{RowSort}
 
  2、而在前面几步中,我们已经把$this->varvals[RowSort]的内容解析好
 
  3、这样以来,我们把全部PHP模板变量均已解析后的内容赋给变量$this->varvals[OUT]
 
  

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读