龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

PHP全世界最小最简单的模板引擎------Pain (普通版

时间:2014-07-22 14:51来源: 作者: 点击:
分享到:
不同于smarty,所有的变量以{@ @}括起来br / br / br / Copyright (c) 2011 Pain Songbr /
不同于smarty,所有的变量以{@ @}括起来


Copyright (c) 2011 Pain Song

<?php
class Pain
{
    public $var=array();
	public $tpl=array();
		
		//this is the method to assign vars to the template
	public function assign($variable,$value=null)
	{
			$this->var[$variable]=$value;
	}
	
	public function display($template_name,$return_string=false)
	{
		//first find whether the tmp file in tmp dir exists. 
		if(file_exists("tmp/temp_file.php"))
		{
			unlink("tmp/temp_file.php");
		}
		extract($this->var);
		$tpl_content=file_get_contents($template_name);
		$tpl_content=str_replace("{@", "<?php echo ", $tpl_content);
		$tpl_content=str_replace("@}", " ?>", $tpl_content);
		//create a file in the /tmp dir and put the $tpl_contentn into it, then 
		//use 'include' method to load it!
		$tmp_file_name="temp_file.php";
		//$tmp is the handler
		$tmp=fopen("tmp/".$tmp_file_name, "w");
		fwrite($tmp, $tpl_content);
		include "tmp/".$tmp_file_name;
	}	
}
	
	
?>

3. [文件] test.php ~ 214B     下载(19)     跳至 [2] [3] [4] [全屏预览]

<?php
    require_once "Pain.php";
	$pain=new Pain();
	$songyu="songyu nb";
	$zhangyuan="zhangyuan sb";
	$pain->assign("songyu",$songyu);
	$pain->assign("zhangyuan",$zhangyuan);
	$pain->display("new_file.html");
?>

4. [文件] new_file.html ~ 321B     下载(19)     跳至 [2] [3] [4] [全屏预览]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>new_file</title>
	</head>
	<body>
		{@$songyu@}<br/>
		{@$zhangyuan@}
	</body>
</html>
精彩图集

赞助商链接