**文件:templates.class.php**
属于解析式模板类,通过获得标签位置进行内容替换,数组$rules用于存储模板标签的解析规则。
#### * 常用方法:
1、private function _parse($string) 解析标签;
2、private function _compile() 生成缓存,第二次不需要解析模板;
3、public function view() 将模板内容在页面中显示。
#### * 使用步骤:
**1、载入模板:**
~~~
require $this->tpl('index');
~~~
**2、初始化:**
~~~
$ins = new template($tplName,$path,$cachepath);
//传入文件名称,文件初始加载路径,文件缓存路径。
~~~
**3、解析标签**
~~~
foreach($this->rules as $key => $value){
//使用正则匹配标签及其对应的解析规则,并且进行替换
if(is_array($value)){
$string = preg_replace_callback($key, create_function(
'$data', '$data = '.$value[1].'>=0?$data['.$value[1].']:$data;
return tag::'.$value[0].'( $data );'), $string);
}else{
$string = preg_replace($key, $value, $string);
}
}
~~~
**4、显示或保存为HTML**
~~~
return $ins->view();
~~~