如何自定义分钟版smarty模板引擎MinSmarty.class.php文件

  介绍

这篇文章主要介绍了如何自定义分钟版smarty模板引擎MinSmarty.class。php文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

具体如下:

<强>一、smarty的优点

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

<强>二,写一个简单的smarty模版类

具体代码如下:

& lt; php ?   ,class  MinSmarty {   ,//模版文件的路径=,var  template_dir 美元;“。/模板/?;   ,//模版文件被替换后的文件,命名格式为com_对应的tpl.php=,var  complie_dir 美元;“。/templates_c/?;   ,//存放变量的值   ,var  tpl_vars 美元;=,数组();   ,//这里使用两个方法实现assign 和显示   ,function 分配(tpl_var美元$ var=NULL) {   如果才能($ tpl_var !=NULL) {   这个美元才能→tpl_vars [tpl_var美元]=$ var;   ,,}   ,}   ,//这里编写显示方法的实现   ,function 显示器(tpl_file美元){//,才能读取这个模版文件→替换可以运行php的文件(编译后文件)   tpl_file_path=这美元才能→template_dir tpl_file美元;,,//,模版文件的路径   complie_file_path=这美元才能→complie_dir !”com_"。美元tpl_file !”.php",,,//编译后的文件路径//才能,判断文件是否存在   如果才能(! file_exists (tpl_file_path美元)){   return 才能;假;   ,,}//,才能不让每次执行都生成编译文件   如果才能(! file_exists (complie_file_path美元),| |,filemtime (tpl_file_path美元)祝辞filemtime (complie_file_path美元)){   美元才能fp1_file_con=file_get_contents (tpl_file_path美元);,//,获取模版文件的全部内容//才能,这里进行正则替换把,,模版文件中的代码,{$ title},替换成,& lt; ? php  echo  $ this→tpl_vars[& # 39;标题# 39;];?,在   模式=美元才能阵列(   ,,,,& # 39;/\ {\ s * \ $ ([a-zA-Z_] [a-zA-Z0-9_] *) \ s * \}/我# 39;   ,,);   取代美元才能=阵列(   ,,,,& # 39;& lt; ? php  echo  $ this→tpl_vars(“${1}“]; ?祝辞& # 39;   ,,);   美元才能new_str=preg_replace(模式,取代美元,美元fp1_file_con);,,//,替换后的内容   写入才能(complie_file_path, new_str美元);,,//,替换后的内容生成一个php文件   ,,}//,才能引入编译后的文件   include_once才能(“complie_file_path"美元);   ,}   ,}   祝辞;

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

介绍。php代码如下:

& lt; php ?   include_once才能(“MySmarty.class.php");   title=懊涝拍苷饫锸潜晏狻?   美元才能内容=罢饫锸悄谌?11111“;   美元才能MySmarty=new  MySmarty ();   MySmarty→美元才能分配(“title",标题美元);   MySmarty→美元才能分配(“content", $内容);   MySmarty→美元才能显示(“intro.tpl");   祝辞;

模版如下:

介绍。tpl:

& lt; ! DOCTYPE  html  PUBLIC “-//W3C//DTD  XHTML  1.0,过渡//EN",“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"比;   & lt; html  xmlns=癶ttp://www.w3.org/1999/xhtml"比;   & lt; head>   & lt; meta  http-equiv=癈ontent-Type",内容=皌ext/html;, charset=utf-8",/比;   & lt; title> {$ title} & lt;/title>   & lt;/head>   & lt; body>   {$内容}   & lt;/body>   & lt;/html>

感谢你能够认真阅读完这篇文章,希望小编分享的“如何自定义分钟版smarty模板引擎MinSmarty.class.php文件”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

如何自定义分钟版smarty模板引擎MinSmarty.class.php文件