| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> php >> 详解phplib模板使用过程及运行原理 xiang jie phplib mo ban shi yong guo cheng ji yun xing yuan li
 

详解phplib模板使用过程及运行原理

2008-12-22 08:09:02 编辑來源:互联网 繁體版 评论
 
 
本文为【详解phplib模板使用过程及运行原理】的汉字拼音对照版显示拼音
  index.htmwenjianneirong

  <html>

  <head>

  <body>

  <!-- BEGIN RowSort -->

  {SortList}<br>

  <!-- END RowSort -->

  </body>

  </head>

  </html>

  index.phpneirong

  <?

  $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");

  ?>

  xiangxifenxiguocheng:

  yi$t->set_file ("Index", "index.htm"); $this->file[index] = index.htm

  er$t->set_block("Index", "RowSort", "RowsSort");

  1zairuindexwenjianindex.htmneirongbingfugeibianliang$this->varvals[index]

  2$str = $this->varvals[index]huoqumobanwenjianneirong

  3yongpreg_match_allhanshulaipipeimobanwenjianzhongduiyingdeblock(RowSort)lideneirongbingcunchudao$m[1][0]zhong

  4yalimuxieduoΦbilock(RowSort)lideneirong(baokuotouheyi)tihuanwei{RowSort}

  5bianliang$this->varvals[RowSort] = $m[1][0] , $this->varkeys[RowSort] = /{RowSort}/

  6bianliang$this->varvals[index] = $str(neirongyifashenggaibian,jiandi4bu) , $this->varkeys[index] = /{index}/

  san$t->set_var("SortList", $list_sort);

  shezhi$this->varvals[SortList] = $list_sort

  shezhi$this->varkeys[SortList] = /{SortList}/

  si$t->parse("RowsSort", "RowSort", true);(cicaozuogenjusortdaxiaochongfujinxing)

  1liyongsubsthanshuba$this->varvalsshuzuzhongdesuoyoubianliangzhiduiqizhongkenenghanyoudeteshuzifuhe$jinxingchuli(he$fenbietihuanweihe$,zheyangkeyiquebaoxiayibudepreg_replacebuchuxianyiwai)bingfugei$varvals_quotedshuzu

  2$str = $this->varvals[RowSort]

  3womenkeyikanchucishi$strzhonghanyouyige{SortList},eryousan$this->varkeys[SortList] = /{SortList}/,$this->varvals[SortList] = $list_sort

  4kejianjingguopreg_replacewomendedaode$strshiyijingjiexilePHPmobanbianliang{SortList}zhihoudeneironglefanhui$str

  5gei$this->varvals[RowSort]jinxingyanxufuzhi //zheliyougewentidajiakenenghuikaolvdaojiushixianshideshihouzuikaishinage{RowSort}weibeijiexibuyongdanxinphplibyoufinishhanshuhuiduitagenjunideyaoqiujinxingchuli

  wu$t->parse("OUT", "Index");

  1keyikanchuzheshi$this->varvals[index]zhongyouyigePHPmobanbianliangyaojinxingjiexi,ji{RowSort}

  2erzaiqianmianjibuzhongwomenyijingba$this->varvals[RowSort]deneirongjiexihao

  3zheyangyilaiwomenbaquanbuPHPmobanbianliangyunyijiexihoudeneirongfugeibianliang$this->varvals[OUT]

  liu$t->p["OUT"];

  xianranphplibzhongphanshujiweishuchuhanshu,womenzhijieba$this->varvals[OUT]shuchujike

  //zheliyaozhuyideshishuchuzhiqianyougephplibzidongjinxingdedongzuojiushiduiweibeijiexidePHPmobanbianlianggenjunideyaoqiujinxingchuli.原文】【拼音
 
 
 
 
上一篇《PHP中的sprintf()函数的学习研究笔记》
下一篇《PHP的优化,缓冲,压缩实际的解决方案》
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
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、涯0逦募卸杂Φ腷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模板变量根据你的要求进行处理.
󰈣󰈤
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
玉美人_珠联璧合
清纯美女米卡
清新靓丽的早晨
玲子的自信与性感
痞子的甘南日记
疑是银河落九天
雪域坝上四——纯美色
冬日恋歌——西城杨柳弄轻柔
 
>>返回首页<<
 
 
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有