您好,登錄后才能下訂單哦!
定義文件:
1. 創建目錄文件tpl
2. 創建模版處理文件tpl/Template.php
3. 顯示處理頁面 tpl/index.php
4. 創建模版文件 tpl/index.html
5. 編譯目錄文件 tpl/compile
tpl/Template.php源代碼
<?php class Template { // 模版中的變量 protected $tplVals = array(); // 編譯文件路徑 protected $compileFile = './compile/'; // 編譯文件擴展名 private $compileExtendName = '.php'; // 模版文件擴展名 private $tplExtendName = '.html'; public function __construct(){} /** * 替換模版文件中的變量 * @param array $data 模版文件的內容 * @return string $data 替換模版文件的內容 */ private function replaceTplVar($data){ foreach($this->tplVals as $k=>$v) { $data = str_replace('{$'.$k.'}', $v, $data); } return $data; } /** * 顯示模版 * @param unkown $tpl */ public function display($tpl) { // 獲取模版內容 $content = file_get_contents($tpl.$this->tplExtendName); // 替換模版中的變量 $content = $this->replaceTplVar($content); // 編譯后的文件 $compileFile = $this->compileFile.md5($tpl).$this->compileExtendName; // 給編譯后的文件添加內容 file_put_contents($compileFile, $content); // 引入編譯文件 require_once $compileFile; } /** * 模版變量綁定 * @param string $name 模版變量名 * @param string $value 模版變量值 * @return null */ public function assign($name, $value) { $this->tplVals[$name] = $value; } }
tpl/index.php源代碼
<?php require_once './template.php'; $tpl = new Template(); $tpl->assign('title','自定義smart有模版引擎'); $tpl->assign('content','這是模本內容'); $tpl->display('index');
tpl/index.html源代碼
<!doctype html> <html> <head> <title>歡迎大家來零壹碼學習自定義模版引擎</title> <meta charset="utf-8" /> </head> <body> <h2>{$title}</h2> <p>{$content}</p> </body> </html>
執行index.php文件之后結果:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。