亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

php模板引擎技術(shù)簡(jiǎn)單實(shí)現(xiàn)

2024-05-04 23:43:59
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要為大家詳細(xì)介紹了php模板引擎技術(shù)簡(jiǎn)單實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
 

用了smarty,tp過(guò)后,也想了解了解其模板技術(shù)是怎么實(shí)現(xiàn),于是寫(xiě)一個(gè)簡(jiǎn)單的模板類(lèi),大致就是讀取模板文件->替換模板文件的內(nèi)容->保存或者靜態(tài)化 

tpl.class.php主要解析

  assign 方法實(shí)現(xiàn)     

/**     * 模板賦值操作     * @param mixed $tpl_var 如果是字符串,就作為數(shù)組索引,如果是數(shù)組,就循環(huán)賦值     * @param mixed $tpl_value 當(dāng)$tpl_var為string時(shí)的值,默認(rèn)為 null     */    public function assign($tpl_var,$tpl_value=null){      if(is_array($tpl_var) && count($tpl_var) > 0){        foreach ($tpl_var as $k => $v) {          $this->tpl_vars[$k] = $v;        }      }elseif($tpl_var){        $this->tpl_vars[$tpl_var] = $tpl_value;      }    }

fetch 方法實(shí)現(xiàn)

     /**      * 生成編譯文件      * @param string $tplFile 模板路徑      * @param string $comFile 編譯路徑      * @return string     */    private function fetch($tplFile,$comFile){      //判斷編譯文件是否需要重新生成(編譯文件是否存在或者模板文件修改時(shí)間大于編譯文件的修改時(shí)間)      if(!file_exists($comFile) || filemtime($tplFile) > filemtime($comFile)){        //編譯,此處也可以使用ob_start()進(jìn)行靜態(tài)化        $content = $this->tplReplace(file_get_contents($tplFile));        file_put_contents($comFile, $content);      }    }  

簡(jiǎn)單編譯方法:按照規(guī)則進(jìn)行正則替換

 /**     * 編譯文件     * @param string $content 待編譯的內(nèi)容     * @return string     */    private function tplReplace($content){      //轉(zhuǎn)義左右定界符 正則表達(dá)式字符      $left = preg_quote($this->left_delimiter,'/');      $right = preg_quote($this->right_delimiter,'/');      //簡(jiǎn)單模擬編譯 變量      $pattern = array(          //例如{$test}          '/'.$left.'/$([a-zA-Z_/x7f-/xff][a-zA-Z0-9_/x7f-/xff]*)'.$right.'/i'        );      $replace = array(          '<?php echo $this->tpl_vars[/'${1}/']; ?>'        );      //正則處理      return preg_replace($pattern, $replace, $content);    }

display = fetch+echo

 /**     * 輸出內(nèi)容     * @param string $fileName 模板文件名     */    public function display($fileName){      //模板路徑      $tplFile = $this->template_dir.'/'.$fileName;      //判斷模板是否存在      if(!file_exists($tplFile)){        $this->errorMessage = '模板文件不存在';        return false;      }      //編譯后的文件      $comFile = $this->compile_dir.'/'.md5($fileName).'.php';      $this->fetch($tplFile,$comFile);             include $comFile;    }

其他屬性

 //模板文件存放位置    private $template_dir = 'templates';     //編譯文件存放位置    private $compile_dir = 'compiles';    //左定界符    private $left_delimiter = '{';    //右定界符     private $right_delimiter = '}';     //內(nèi)部臨時(shí)變量,存儲(chǔ)用戶(hù)賦值    private $tpl_vars = array();    //錯(cuò)誤信息    private $errorMessage = '';    /**     * 修改類(lèi)屬性的值     * @param array $configs 需要修改的相關(guān)屬性及值     * @return bool     */    public function setConfigs(array $configs){      if(count($configs) > 0){        foreach ($configs as $k => $v) {          if(isset($this->$k))            $this->$k = $v;        }        return true;      }      return false;    }

測(cè)試

模板文件 testTpl.html

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>test_tpl_demo</title></head><body>  {$name}:{$age}:{$message}</body></html>運(yùn)行文件 test_tpl.php<?php  require 'Tpl.class.php';    $tpl = new Tpl();  $tplarr = array(      'name'=>'waited',      'age'=>'100'    );  $tpl->assign($tplarr);  $tpl->assign('message','this is a demo');  $tpl->display('testTpl.html');?>

輸出:waited:100:this is a demo

生成編譯文件:972fa4d270e295005c36c1dbc7e6a56c.php

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。



發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
熟女人妻一区二区三区免费看| 精品日韩在线播放| 桃乃木香奈av在线| 五月天最新网址| 91精彩视频在线播放| 色呦呦在线视频| 欧美激情中文字幕| 制服丝袜第二页| 午夜免费在线观看精品视频| 婷婷丁香激情五月| 91高清在线观看视频| 久久九九热视频| 91高清在线视频| 免费在线视频一区| 国精产品99永久一区一区| 国产精品夫妻激情| 亚洲欧洲精品天堂一级| 欧美黑人性猛交xxx| 免费观看特级毛片| 果冻天美麻豆一区二区国产| 欧美激情在线狂野欧美精品| 欧美视频免费在线观看| 秋霞a级毛片在线看| 亚洲一区3d动漫同人无遮挡| 国产精品久久久久久久久久精爆| 免费看黄色网| 久久精品首页| 国产精品丝袜一区二区三区| 亚洲欧美日韩久久精品| 欧美极品视频一区二区三区| 久久精品免费一区二区| 在线丝袜欧美日韩制服| 中文字幕在线免费观看| 亚洲第一页自拍| 一起草在线视频| 偷拍自拍一区| 亚洲理论电影片| 国产精品九九九| 综合av在线| 偷拍一区二区三区| 日本一区二区三区dvd视频在线| 成人黄色免费视频| 午夜久久久久久久久久| 青柠在线影院观看日本| 日本一区二区视频在线播放| 色婷婷亚洲一区二区三区| www.日韩系列| 黑人中文字幕一区二区三区| 久久久久亚洲| 你懂的一区二区| 嫩草影院永久一二三入口| 91极品身材尤物theporn| 91麻豆精品一二三区在线| 深夜福利成人| 久久99精品网久久| 99免费精品视频| 亚洲aⅴ怡春院| 农村妇女一区二区| 警花av一区二区三区| 成人av激情人伦小说| 777精品久无码人妻蜜桃| 国产高清在线看| 久久视频在线直播| 91年精品国产| 在线丨暗呦小u女国产精品| 久久亚洲黄色| 精品人伦一区二区三区蜜桃网站| 欧美日韩在线精品一区二区三区激情综合| 噜噜噜在线视频| 九色免费视频| 激情综合网五月婷婷| 裸体素人女欧美日韩| 91大神网址| 欧美曰成人黄网| 亚洲人av在线影院| 黄色片在线免费看| 蜜桃久久av| 51精品秘密在线观看| 香蕉久久免费电影| 国内久久婷婷综合| 国内外成人在线视频| 国产女王在线**视频| 在线观看黄网| 亚洲一区二区精品久久av| 成人动漫av| 在线亚洲国产精品网站| 在线三级中文| 5月丁香婷婷综合| 视频区 图片区 小说区| xxxx欧美xxxx黑人| 韩国av一区二区三区四区| 在线观看一级片| 91丨国产丨九色丨pron| 国产久草在线| 精品一区二区三区四区在线| 久久黄色级2电影| 国产又粗又长又爽视频| 视频一区二区三区中文字幕| 最新在线中文字幕| 成人午夜激情在线| 精品久久九九| 日日摸夜夜爽人人添| 极品国产91在线网站| 99久热re在线精品视频| 久久免费视频在线| 男人草女人视频| 久久国产三级精品| www.成人在线视频| 性欧美videos另类hd| 欧美91在线|欧美| 一级黄色片毛片| 久久久91视频| 狠狠干夜夜操| 狠狠久久亚洲欧美| 日韩福利视频导航| 久热中文字幕精品视频在线| 国产成人精品一区二区免费看京| 91网在线播放| 青柠在线影院观看日本| 日韩美女一区二区三区四区| 色综合久久久久综合体| 视频一区二区三区在线观看| 亚洲天堂av中文字幕| 一区二区三区四区日韩| h视频在线网站| 亚洲国产日韩一区无码精品久久久| 老司机精品视频网站| 高清电影在线免费观看| 天堂综合网久久| 成人av动漫在线观看| 亚洲无亚洲人成网站77777| 亚洲乱码一区二区| 99成人精品| 91视频观看视频| 久久免费区一区二区三波多野| 高潮按摩久久久久久av免费| 欧美天天综合色影久久精品| 国产香蕉精品视频| 国产精品久久久久久久免费大片| 一二三区在线视频| 法国空姐电影在线观看| 波多野结衣二区三区| 7777精品伊人久久久大香线蕉超级流畅| 日韩电影在线一区| 精品国产自在久精品国产| 91最新地址在线播放| 亚洲精品小区久久久久久| 婷婷久久综合九色综合绿巨人| 久久久久久不卡| 黄视频在线观看免费| 天天综合中文字幕| 八戒八戒神马在线电影| 国产精品一区二区av白丝下载| 国产精品观看在线亚洲人成网| 亚洲欧美综合乱码精品成人网| 午夜激情视频网| 国产精品美女网站| 成人久久18免费网站图片| 日韩啪啪电影网| 国产成人小视频| 欧美人与动性xxxxx杂性| 日本美女一级片| 91麻豆成人精品国产免费网站| 伦伦影院午夜日韩欧美限制| 激情欧美日韩一区二区| 99riav视频一区二区| 香蕉视频一区二区三区| 亚洲自拍的二区三区| 国产精品国产三级国产专区52| 精品人妻一区二区三区香蕉| 国产精品久久久久99| 免费黄网站观看| 美国美女黄色片| 国产精品久久综合青草亚洲AV| 国产成人精品久久二区二区91| 麻豆免费精品视频| 国产日韩v精品一区二区| 亚洲第一成人网站| 成人小视频在线| 国产第一页在线视频| 国产精品国产精品国产专区不卡| 91电影在线播放| 99不卡视频| 精品欧美一区二区在线观看| 欧美久久精品一级黑人c片| 日韩视频在线一区二区| 日韩理论电影大全| 国产视频青青| 色噜噜在线观看| 亚洲高清久久久久久| 精品国产一区久久久| 嫩草影院在线观看网站成人| japanese国产| 日本一区二区三区视频免费看| 国产激情视频一区二区三区欧美| 一级黄色免费在线观看| 熟妇高潮一区二区三区| 国产激情久久久| 最新国产在线| 欧美亚洲免费高清在线观看| 欧美成人精品高清在线播放| 夜夜夜久久久| 51调教丨国产调教视频| 男人的天堂在线视频免费观看| 国产精品一区视频网站| 日韩精品免费综合视频在线播放| 国产又粗又猛又爽又黄的视频小说| 91美剧网在线播放| kk眼镜猥琐国模调教系列一区二区| 亚洲视频久久久| 天堂电影一区| 欧美一区2区| 成人蜜桃视频| 在线免费日韩片| 在线午夜精品自拍| 韩国av一区二区三区在线观看| 国产在线播放观看| 91产国在线观看动作片喷水| 中文字幕一区二区三区人妻四季| 亚洲激情男女视频| 在线观看你懂的网站| 亚洲成人www| av福利网址| 羞羞污视频在线观看| 91麻豆精品久久毛片一级| 日本不卡一区二区三区| 精品成人久久av| 国产1区2区在线观看| 丝袜美腿亚洲综合| 欧美日韩国产综合一区二区| 亚洲理论电影在线观看| 国产精品久久三| 亚洲va欧美va国产综合剧情| 欧美精品一区二区三区免费播放| 精品国产视频在线观看| 国产美女免费无遮挡| а天堂中文在线官网| 91久久香蕉国产日韩欧美9色| 亚洲av无码片一区二区三区| 久久久久国色av免费观看性色| 热久久视久久精品18亚洲精品| 国产欧美一区二区精品仙草咪| 精品视频在线播放免| 一区三区视频| 免费久久99精品国产自| 国产精品久久久对白| 欧美自拍视频在线观看| 成人系列视频| 在线亚洲一区观看| 亚洲天堂国产精品| 玖玖精品在线视频| 国模私拍视频在线观看| 亚洲激情偷拍| 男人精品网站一区二区三区| 国产一区二区三区毛片| 国产专区在线| 免费黄色在线| 日韩欧美国产二区| 欧美日韩国产中文| 日本中文字幕一区二区| 欧美午夜视频网站| 亚洲精品免费av| 美女脱光衣服与内衣内裤一区二区三区四区| 日韩欧美一区二区三区视频| 免费在线观看亚洲| 成人免费在线一区二区三区| 法国空姐在线观看免费| 羞羞影视羞羞在线| 日韩精品不卡| 午夜欧美不卡精品aaaaa| 久久精品免费av| 亚洲丝袜av一区| 日韩av免费观影| 黄色精品视频在线观看| 精品动漫3d一区二区三区免费| 免费a级人成a大片在线观看| 自拍av在线| 亚洲精品videosex极品| 这里只有精品视频| 精品少妇一区二区三区视频免付费| 福利欧美精品在线| 国产亚洲精品中文字幕| 精品国产鲁一鲁一区二区三区| 亚洲片在线观看| 免费中文字幕在线观看| 久久天天躁狠狠躁老女人| 国产啊啊啊视频在线观看| 国产女主播在线直播| 久久青青草原一区二区| 亚洲综合自拍网| 日本精品va在线观看| 国产精品久久综合青草亚洲AV| 99综合精品久久| 欧美婷婷六月丁香综合色| 一二三区中文字幕| 精品免费一区二区| 日韩Av无码精品| 日韩精品视频免费在线观看| 欧美极品美女电影一区| 5858p先锋影音资源网| 午夜免费一级片| 国内性生活视频| 国产精品一二三| 姬川优奈av一区二区在线电影| 国产尤物在线观看| 黄色视屏免费在线观看| 日韩成人免费在线观看| xxxxbbbb欧美| www.亚洲男人天堂| 欧美一区二区三区在线视频| 日本久久二区| 奇米色一区二区| 国内自拍视频在线看免费观看| 影音先锋中文在线播放| 97色成人综合网站| 天堂电影在线| 亚洲深深色噜噜狠狠爱网站| 中文字幕日韩第一页| 欧美视频日韩视频在线观看| 国产xxxxhd| 天天综合天天综合| 欧洲免费av| 欧美一区激情视频在线观看| 蜜桃传媒在线| 亚洲自拍欧美另类| 久久se这里有精品| 久久精品免费一区二区| 蜜臀av午夜精品久久|