Heim >Backend-Entwicklung >PHP-Tutorial >miniSmarty 简易Smarty

miniSmarty 简易Smarty

WBOY
WBOYOriginal
2016-07-25 09:08:09842Durchsuche
简易的smarty 对新手理解smarty有帮助 源于itcast韩顺平老师smarty第2、3讲
  1. class MyMiniSmarty{
  2. public $template_dir = "./templates";
  3. public $complie_dir = "./templates_c";
  4. public $tpl_vars = array();
  5. public function assign($tpl_var,$val = NULL){
  6. if(!empty($tpl_var)){
  7. $this->tpl_vars[$tpl_var] = $val;
  8. }
  9. }
  10. public function display($tpl_file){
  11. $tpl_file_path = $this->template_dir.$tpl_file;
  12. $complie_file_path = $this->complie_dir."com_".$tpl_file.".php";
  13. if (file_exists($tpl_file_path) || filemtime($tpl_file_path) $tpl_file_content = file_get_contents($tpl_file_path);
  14. $pattern = array(
  15. '/\{\s*\$([a-zA-Z0-0_]*)\s*\}/i'
  16. );
  17. $replace = array(
  18. 'tpl_vars["$程序猿闯子"] ?>'
  19. );
  20. $new_content = preg_replace($pattern, $replace, $tpl_file_content);
  21. try {
  22. file_put_contents($complie_file_path, $new_content);
  23. } catch (Exception $e) {
  24. echo $e->getMessage();
  25. }
  26. include $complie_file_path;
  27. }else {
  28. return FALSE;
  29. }
  30. }
  31. }
  32. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn