tpl模板引擎和使用

2021-08-20 05:25:55 字數 2172 閱讀 6965

tpl.php

<?php

namespace tpl;

/** * class tpl

*/class tpl

}//如果快取檔案不為空,則設定,為空時為預設值

if (!empty($cache_dir))

}//如果過期時間不為空,則設定,為空時為預設值

if (!empty($lifetime))

}/**

* 對外公開的方法

* @param string $name

* @param string $value

*/public function assign($name, $value)

/*** 測試檔案

* @param $dir_path

* @return bool

*/protected function check_dir($dir_path)

//如果檔案不可讀或不可寫,則設定模式

if (!is_writable($dir_path) || !is_readable($dir_path))

return true;

}/**

* 展示方法

* @param $view_name

* @param bool $isinclude

* @param null $uri

*/public function display($view_name, $isinclude=true, $uri=null)

//通過傳入的檔名得到快取檔名

$cache_name = md5($view_name . $uri) . '.php';

//緩過快取檔名得到快取路徑

$cache_path = rtrim($this->cache_dir, '/') . '/' .$cache_name;

//判斷快取檔案是否存在,如果不存在,重新生成

if (!file_exists($cache_path)) else

}if ($isinclude)

}/**

* 正則解析模板檔案

* @param string $file_name

* @return mixed|string

*/protected function compile($file_name)

' => '<?=$\1?>',

'' => '<?php foreach (\1): ?>',

'' => '<?php endforeach ?>',

'' => '',

'' => '<?php if (\1): ?>',

'' => '<?php endif ?>',

'' => '<?php for (\1): ?>',

'' => '<?php endfor ?>',

'' => '<?php switch (\1) ?>',

'' => '<?php endswitch ?>'

];//遍歷陣列,生成正規表示式

foreach ($array as $key=>$value) else

}return $html;

}/**

* 處理include表示式

* @param array $data

* @return string

*/protected function parseinclude($data)

}

user_tpl,,,,從資料庫中取值,作為引數傳到模板檔案,再解析模板檔案

模板引擎使用

模板引擎可以讓將資料和html模板更加友好的結合,省去繁瑣的字串拼接,使 更加易於維護。art template 模板編譯 通過呼叫模板引擎提供的template函式,告知模板引擎將特定模板和特定資料進行拼接,最終返回拼接結果。模板引擎匯入 const template require art te...

模板引擎簡單使用

模板引擎實際上就是乙個 api,模板引擎有很多種,使用方式大同小異,目的為了可以更容易的將資料渲染到 html中。詳情模板引擎語法去官網檢視手冊,上面例舉一些模板引擎。先引入jquery.js檔案 寫jquery語句必須 在頁面中利用script引入模板引擎 建立乙個script標籤,幫後台資料與模...

使用js模板引擎心得

最近幾年隨著web開發前後端分工越來越細,同時mvc mvp模式大行其道,js模板引擎也越來越流行了 js模板引擎很多,我經常用的是arttemplate jsviews這兩個模板引擎,12306用的就是jsviews arttemplate 特性 效能卓越,執行速度通常是 mustache 與 t...