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

首頁 > 編程 > PHP > 正文

php模板引擎技術簡單實現

2020-03-22 19:11:34
字體:
來源:轉載
供稿:網友
用了smarty,tp過后,也想了解了解其模板技術是怎么實現,于是寫一個簡單的模板類,大致就是讀取模板文件- 替換模板文件的內容- 保存或者靜態化tpl.html' target='_blank'>class.php主要解析 assign 方法實現 * 模板賦值操作 * @param mixed $tpl_var 如果是字符串,就作為數組索引,如果是數組,就循環賦值 * @param mixed $tpl_value 當$tpl_var為string時的值,默認為 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 方法實現 * 生成編譯文件 * @param string $tplFile 模板路徑 * @param string $comFile 編譯路徑 * @return string private function fetch($tplFile,$comFile){ //判斷編譯文件是否需要重新生成(編譯文件是否存在或者模板文件修改時間大于編譯文件的修改時間) if(!file_exists($comFile) || filemtime($tplFile) filemtime($comFile)){ //編譯,此處也可以使用ob_start()進行靜態化 $content = $this- tplReplace(file_get_contents($tplFile)); file_put_contents($comFile, $content);簡單編譯方法:按照規則進行正則替換 * 編譯文件 * @param string $content 待編譯的內容 * @return string private function tplReplace($content){ //轉義左右定界符 正則表達式字符 $left = preg_quote($this- left_delimiter,'/'); $right = preg_quote($this- right_delimiter,'/'); //簡單模擬編譯 變量 $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 * 輸出內容 * @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 = '}'; //內部臨時變量,存儲用戶賦值 private $tpl_vars = array(); //錯誤信息 private $errorMessage = ''; * 修改類屬性的值 * @param array $configs 需要修改的相關屬性及值 * @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;測試模板文件 testTpl.html
!DOCTYPE html html lang="en" head meta charset="UTF-8" title test_tpl_demo /title /head body {$name}:{$age}:{$message} /body /html 運行文件 test_tpl.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以上就是本文的全部內容,希望對大家的學習有所幫助。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美另类在线播放| 亚洲一区二区在线播放| 亚洲自拍偷拍视频| 欧美日韩在线一区| 日韩久久精品电影| 136fldh精品导航福利| 欧美大胆a视频| 国产一区二区三区在线观看网站| 欧美成人激情视频| 奇米成人av国产一区二区三区| 欧美最猛性xxxxx亚洲精品| 欧美一级片免费在线| 在线观看中文字幕亚洲| 欧美激情国产高清| 久久男人资源视频| 日韩有码在线播放| 最近2019年日本中文免费字幕| 日韩亚洲成人av在线| 欧美激情国产日韩精品一区18| 成人免费网站在线观看| 成人精品福利视频| 国产精品丝袜一区二区三区| 亚洲三级 欧美三级| 久久久人成影片一区二区三区观看| 91老司机在线| 国产亚洲欧洲高清| 亚洲国产精品电影在线观看| 亚洲天堂av图片| 欧美国产精品va在线观看| 久久久成人精品视频| 日韩欧美成人区| 日韩h在线观看| 日韩欧美极品在线观看| 九九久久精品一区| 国产精品欧美久久久| 91精品视频播放| 日韩电影大全免费观看2023年上| 国产精品一区二区av影院萌芽| 国产精品对白刺激| 亚洲国产一区自拍| 最近2019中文字幕在线高清| 性色av香蕉一区二区| 在线日韩av观看| 国产精品劲爆视频| 色婷婷亚洲mv天堂mv在影片| 欧美激情网站在线观看| 成人精品网站在线观看| 亚洲欧美日韩精品久久| 亚洲第一男人av| 伦伦影院午夜日韩欧美限制| 亚洲欧美在线一区| 欧美极品少妇xxxxx| xxav国产精品美女主播| 欧美天堂在线观看| 久久五月天色综合| 久久久久久91香蕉国产| 日韩精品日韩在线观看| 久久综合免费视频影院| 成人黄色网免费| 欧美亚洲国产成人精品| 91亚洲国产成人精品性色| 欧美情侣性视频| 国产成人精品久久亚洲高清不卡| 国产一区二区三区在线播放免费观看| 欧美亚洲在线播放| 成人自拍性视频| 国产精品久久久久免费a∨大胸| 亚洲成人三级在线| 国产精品劲爆视频| 国产成人+综合亚洲+天堂| 欧美高清视频一区二区| 亚洲大胆美女视频| 欧美日韩精品在线播放| 91亚洲精品视频| 亚洲成人精品久久久| 成人久久久久久| 深夜福利一区二区| 亚洲天堂男人天堂女人天堂| 欧美一区二区.| 一区二区三区视频免费| 久久中文字幕一区| 欧美高清激情视频| 欧美日韩国产精品一区二区三区四区| 久久天天躁狠狠躁夜夜躁2014| 成人午夜黄色影院| 久久精品视频99| 91在线观看免费高清完整版在线观看| 国产欧美一区二区三区四区| 日韩视频在线观看免费| 日韩中文av在线| 91精品国产综合久久久久久蜜臀| 欧美中文在线字幕| 91九色视频在线| 久久亚洲精品一区二区| 日韩欧美大尺度| 国产精品三级美女白浆呻吟| 欧美日韩另类字幕中文| 亚洲国产天堂久久综合| 91精品久久久久久久久青青| 国产欧美一区二区三区在线| 欧美日韩亚洲一区二| 国产小视频国产精品| 91精品视频在线播放| 国产亚洲欧美日韩美女| 国产亚洲精品久久久久久| 亚洲国产精品国自产拍av秋霞| 久久在线精品视频| 国产视频久久网| 国产精品日韩在线| 亚洲男人的天堂在线| 国外色69视频在线观看| 久久理论片午夜琪琪电影网| 日韩在线观看免费全集电视剧网站| 黄网站色欧美视频| 亚洲人在线视频| 两个人的视频www国产精品| 亚洲精品99久久久久中文字幕| 亚洲美女自拍视频| 久久理论片午夜琪琪电影网| 欧美一区在线直播| 一本久久综合亚洲鲁鲁| 欧美在线视频播放| 成人黄色午夜影院| 精品色蜜蜜精品视频在线观看| 中文字幕精品在线视频| 欧美精品videosex极品1| 国产v综合ⅴ日韩v欧美大片| 国产视频综合在线| 色哟哟网站入口亚洲精品| 深夜福利国产精品| www.xxxx精品| 亚洲人成网站777色婷婷| 性日韩欧美在线视频| 欧美激情综合亚洲一二区| 久久精品久久久久久国产 免费| 国产欧美日韩视频| 成人有码在线播放| 富二代精品短视频| 欧美另类极品videosbestfree| 97久久精品人人澡人人爽缅北| 国产成人精品免高潮费视频| 亚洲精品综合精品自拍| 日韩精品视频在线播放| 国产剧情久久久久久| 精品av在线播放| 日韩视频在线一区| 国产做受69高潮| 亚洲乱码一区av黑人高潮| 久久91精品国产91久久久| 欧美视频裸体精品| 狠狠色狠狠色综合日日五| 日韩国产欧美精品一区二区三区| 亚洲国产精品一区二区久| 国产精品久久久久影院日本| 国产精品吊钟奶在线| 久久成年人免费电影| 91精品久久久久久久久青青| 国产成人高潮免费观看精品| 欧美激情一级欧美精品| 亚洲成年人影院在线| 国产性色av一区二区| 成人黄色影片在线| 欧美黄色性视频| 色阁综合伊人av|