Rumah >php教程 >php手册 >非常简单的php模版类--DarasionTemplate

非常简单的php模版类--DarasionTemplate

WBOY
WBOYasal
2016-06-21 08:59:041003semak imbas

哈,好久不写blog了,今天就随便写点吧,怎么这blog的编辑器成了FCK的了呢?

突发灵感,写了一个非常简单的模版类,虽然没啥先进的东西,不过我总认为灵感也是需要积累的。
功到自然成嘛。模版类文件代码:
/**
* 作者:darasion
* 版权:使用或转载注明作者
*
*/
class DarasionTemplate{

 var $template   = "";
 var $VAR        = array();
 var $className  = "DarasionTemplate";

 /**
 * 设定 参数/模版
 *
 */
 function setVar($name,$value){
  if(strtolower(get_class($value))==strtolower($this->className)){
   $this->VAR[$name]=$value->parse();
  }else{
   $this->VAR[$name]=$value;
  }
 }

 /**
 * 获得 参数/解析后的模版
 *
 */
 function getVar($name){
  if(isset($this->VAR[$name])){
   return $this->VAR[$name];
  }
 }

 /**
 * 设定模版路径
 *
 */
 function setTemplate($tpl){
  $this->template = $tpl;
 }

 /**
 * 输出html
 *
 */
 function out(){
  echo $this->parse();
 }

 /**
 * 解析模版
 *
 */
 function parse(){
  ob_start();
  include_once($this->template);
  echo $content=ob_get_contents();
  ob_end_clean();
  return $content;
 }
}
?>


这个模版类能够支持模版的嵌套,只要将子模版类的实例当作参数设置给父模版即可
使用方法:

test.php
include("DarasionTemplate.php");

//建立父模版
$tpl=new DarasionTemplate();
$tpl->setTemplate("inc/__tpl.php");
//父模版参数
$tpl->setVar("title","参数title");
$tpl->setVar("a","参数a");
$tpl->setVar("b","参数b");

//建立子模版
$tpl1=new DarasionTemplate();
$tpl1->setTemplate("inc/__tpl1.php");
//设置子模版参数
$tpl1->setVar("kk","kk");

//将子模版放入父模版中
$tpl->setVar("c",$tpl1);

$tpl->out();

?>


//父模版:__tpl.php




<?php echo @$this->getVar("title");?>



getVar("a");?>
getVar("b");?>
getVar("c");?>



//瀛
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn