Home >php教程 >PHP源码 >已经过期,请看wecis模板引擎

已经过期,请看wecis模板引擎

PHP中文网
PHP中文网Original
2016-05-25 17:12:571235browse

php代码

<?php

class template{
	
	private $assign = array();
	public $tplfile_pre;
	public $tplfile_path_dir = &#39;template&#39;;	//模板路径
	public $tplfile_cache_dir = &#39;cache&#39;;	//缓存路径
	public $tplfile_cache_open = TRUE;	//是否开启缓存
	public $tplfile_cache_time = 300;	//设置缓存时间
	public $tplstring_left = &#39;{-&#39;;	//模板中左标签
	public $tplstring_right = &#39;-}&#39;;	//模板中右标签
	
	function template($tplpre) {
		if(empty($tplpre)) {
			exit(&#39;Lost Parameter&#39;);
		}
		$this->tplfile_pre = md5($tplpre).&#39;.&#39;;
	}
	
	public function assign($tplvar,$value){
		$this->assign[$tplvar]=$value; 
	}
	
	public function display($tpl) {
		if($this->tplfile_cache_open) {
			if(file_exists($this->tplfile_cache_dir.&#39;/&#39;.$this->tplfile_pre.$tpl.&#39;.php&#39;)) {
				$tmpfiletime = fileatime($this->tplfile_cache_dir.&#39;/&#39;.$this->tplfile_pre.$tpl.&#39;.php&#39;);
				if((time() - $tmpfiletime) >$this->tplfile_cache_time) {
					unlink($this->tplfile_cache_dir.&#39;/&#39;.$this->tplfile_pre.$tpl.&#39;.php&#39;);
					include $this->createTemp($tpl);
				}else{
					include $this->tplfile_cache_dir.&#39;/&#39;.$this->tplfile_pre.$tpl.&#39;.php&#39;;
				}
			}else{
				include $this->createTemp($tpl);
			}
		}else{
			include $this->createTemp($tpl);
		}
	}
	
	private function createTemp($tpl) {
		$content = file_get_contents($this->tplfile_path_dir.&#39;/&#39;.$tpl);
		$data = preg_replace(&#39;/&#39;.$this->tplstring_left.&#39;if\(((.*)+)\)&#39;.$this->tplstring_right.&#39;/&#39;,"<?php if(\\1) { ?>",$content);
		$data = preg_replace(&#39;/&#39;.$this->tplstring_left.&#39;else&#39;.$this->tplstring_right.&#39;/&#39;,&#39;<?php }else{ ?>&#39;,$data);
		$data = preg_replace(&#39;/&#39;.$this->tplstring_left.&#39;\/if&#39;.$this->tplstring_right.&#39;/&#39;,&#39;<?php } ?>&#39;,$data);
		$data = preg_replace(&#39;/&#39;.$this->tplstring_left.&#39;/&#39;,&#39;<?php echo &#39;,preg_replace(&#39;/&#39;.$this->tplstring_right.&#39;/&#39;,&#39; ?>&#39;,$data));
		foreach($this->assign as $k=>$v) {
			if(!is_numeric($v)) {
				$data = preg_replace(&#39;/\$&#39;.$k.&#39;/&#39;,&#39;\&#39;&#39;.$v.&#39;\&#39;;&#39;,$data);
			}
			$data = preg_replace(&#39;/\$&#39;.$k.&#39;/&#39;,$v,$data);
		}
		if($data) {
			file_put_contents($this->tplfile_cache_dir.&#39;/&#39;.$this->tplfile_pre.$tpl.&#39;.php&#39;,$data);
			return $this->tplfile_cache_dir.&#39;/&#39;.$this->tplfile_pre.$tpl.&#39;.php&#39;;
		}
	}
	public function version() {
		return &#39;webtmp 1.0&#39;;
	}
}
?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn