首页 > 开发 > php > 正文

PHP 模板原理以及相关代码展示

2016-05-03 14:34:02  来源:慕课网

  mini类

class mini {
public $template_dir = ''; // 模板文件存放的位置
public $compile_dir = ''; // 模板文件编译后存放的位置

public $array = array ();
public function assign($key, $value) {
    $this->array [$key] = $value;
}

/*
 * 调动compile来编译模板,并自动引入;
 */
public function display($template) {
    $comp = $this->compile ( $template );
    include ($comp);
}

/*
 * 传一个参数,读取那个html模板 流程:把模板读取过来,编译成php
 */
public function compile($template) {
    // $template是一个html文件
    $temp = $this->template_dir . '/' . $template;
    $source = file_get_contents ( $temp );
    // 再把编译后的内容保存成.php文件
    $comp = $this->compile_dir . '/' . $template . '.php';
    // 判断模板是否已经存在,或者修改;
    if (file_exists ( $comp ) && filemtime ( $temp ) < filemtime ( $comp )) {
        return $comp;
    }
    $source = str_replace ( '{$', '<?php echo $this->array[\'', $source );
    $source = str_replace ( '}', '\'];?>', $source );
    // echo $source;
    file_put_contents ( $comp, $source );
    return $comp;
}
  }