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

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

PHP中文网
PHP中文网Original
2016-05-25 17:12:571230Durchsuche

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;;
	}
}
?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn