模板类

文件: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();