search
Homephp教程PHP源码已经过期,请看wecis模板引擎

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use