如何自定义min版smarty模板引擎MinSmarty.class.php文件
创始人
2024-12-10 09:02:27
0次

具体如下:

一、smarty的优点

smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

二、写一个简单的smarty模版类

具体代码如下:

tpl_vars[$tpl_var]=$var;
  }
 }
 // 这里编写display方法的实现
 function display($tpl_file){
  // 读取这个模版文件->替换可以运行的php文件(编译后文件)
  $tpl_file_path=$this->template_dir.$tpl_file;  // 模版文件的路径
  $complie_file_path=$this->complie_dir."com_".$tpl_file.".php";  //编译后的文件路径
  // 判断文件是否存在
  if(!file_exists($tpl_file_path)){
  return false;
  }
  // 不让每次执行都生成编译文件
  if(!file_exists($complie_file_path) || filemtime($tpl_file_path)>filemtime($complie_file_path)){
  $fp1_file_con=file_get_contents($tpl_file_path); // 获取模版文件的全部内容
  // 这里进行正则替换把  模版文件中的代码 {$title} 替换成 tpl_vars['title'];? >
  $pattern=array(
     '/\{\s*\$([a-zA-Z_][a-zA-Z0-9_]*)\s*\}/i'
  );
  $replace=array(
     'tpl_vars["${1}"];?>'
  );
  $new_str=preg_replace($pattern,$replace,$fp1_file_con);  // 替换后的内容
  file_put_contents($complie_file_path,$new_str);  // 替换后的内容生成一个php文件
  }
  // 引入编译后的文件
  include_once("$complie_file_path");
 }
 }
?>

下面的代码是对该类的测试

intro.php代码如下:

assign("title",$title);
  $MySmarty->assign("content",$content);
  $MySmarty->display("intro.tpl");
?>

模版如下:

intro.tpl:





{$title}


{$content}

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...