电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

詳解phplib模板使用過程及運行原理

瀏覽:4日期:2024-02-24 11:17:33

index.htm文件內(nèi)容:

<html><head><body><!-- BEGIN RowSort -->{SortList}<br><!-- END RowSort --></body></head></html>

index.php內(nèi)容:

<?$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內(nèi)容并賦給變量$this->varvals[index]2、$str = $this->varvals[index]獲取模板文件內(nèi)容3、用preg_match_all函數(shù)來匹配模板文件中對應(yīng)的block(RowSort)里的內(nèi)容,并存儲到$m[1][0]中4、涯0邐募卸雜Φ腷lock(RowSort)里的內(nèi)容(包括頭和尾)替換為{RowSort}5、變量$this->varvals[RowSort] = $m[1][0] ,$this->varkeys[RowSort] = /{RowSort}/6、變量$this->varvals[index] = $str(內(nèi)容已發(fā)生改變,見第4步) ,$this->varkeys[index] = /{index}/

三、$t->set_var('SortList', $list_sort);

設(shè)置$this->varvals[SortList] = $list_sort設(shè)置$this->varkeys[SortList] = /{SortList}/

四、$t->parse('RowsSort', 'RowSort', true);(此操作根據(jù)sort大小重復(fù)進行)

1、利用subst函數(shù)把$this->varvals數(shù)組中的所有變量值對其中可能含有的特殊字符和$進行處理(和$分別替換為和$,這樣可以確保下一步的preg_replace不出現(xiàn)意外),并賦給$varvals_quoted數(shù)組2、$str = $this->varvals[RowSort]3、我們可以看出此時$str中含有一個{SortList},而由三:$this->varkeys[SortList] = /{SortList}/,$this->varvals[SortList] = $list_sort4、可見經(jīng)過preg_replace我們得到的$str是已經(jīng)解析了PHP模板變量{SortList}之后的內(nèi)容了,返回$str5、給$this->varvals[RowSort]進行延續(xù)賦值//這里有個問題大家可能會考慮到就是顯示的時候最開始那個{RowSort}未被解析,不用擔(dān)心,phplib有finish函數(shù)會對它根據(jù)你的要求進行處理

五、$t->parse('OUT', 'Index');

1、可以看出,這時$this->varvals[index]中有一個PHP模板變量要進行解析,即{RowSort}2、而在前面幾步中,我們已經(jīng)把$this->varvals[RowSort]的內(nèi)容解析好3、這樣以來,我們把全部PHP模板變量均已解析后的內(nèi)容賦給變量$this->varvals[OUT]

六、$t->p['OUT'];

顯然phplib中p函數(shù)即為輸出函數(shù),我們直接把$this->varvals[OUT]輸出即可//這里要注意的是輸出之前有個phplib自動進行的動作,就是對未被解析的PHP模板變量根據(jù)你的要求進行處理.

標簽: PHP
主站蜘蛛池模板: 模切之家-专注服务模切行业的B2B平台! | 滑石粉,滑石粉厂家,超细滑石粉-莱州圣凯滑石有限公司 | 高温高压釜(氢化反应釜)百科 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 首页-恒温恒湿试验箱_恒温恒湿箱_高低温试验箱_高低温交变湿热试验箱_苏州正合 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 广州冷却塔维修厂家_冷却塔修理_凉水塔风机电机填料抢修-广东康明节能空调有限公司 | 杭州门窗厂家_阳光房_包阳台安装电话-杭州窗猫铝合金门窗 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 首页 - 军军小站|张军博客 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 苏州柯瑞德货架-仓库自动化改造解决方案| 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | 小型单室真空包装机,食品单室真空包装机-百科 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 天长市晶耀仪表有限公司| 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 阴离子聚丙烯酰胺价格_PAM_高分子聚丙烯酰胺厂家-河南泰航净水材料有限公司 | 艺术涂料_进口艺术涂料_艺术涂料加盟_艺术涂料十大品牌 -英国蒙太奇艺术涂料 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 睿婕轻钢别墅_钢结构别墅_厂家设计施工报价| 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 |