?php// PHP原生代码模版引擎class PHPTemplate { private $html;//最终HTML代码 private $filters = array();//处理器函数数组 //显示到网页 public function display($fileName){ $this-getHtml($fileName); die($this-html); } //捕
<?php
// PHP原生代码模版引擎
class PHPTemplate {
private $html;//最终HTML代码
private $filters = array();//处理器函数数组
//显示到网页
public function display($fileName){
$this->getHtml($fileName);
die($this->html);
}
//捕获输出
public function fetch($fileName){
$this->getHtml($fileName);
return $this->html;
}
//添加过滤器
public function loadFilter($filterName){
$this->filters[] = $filterName;
}
private function getHtml($fileName){
//检查文件是否存在
if(!file_exists($fileName)){
self::toError(basename($fileName).'文件不存在。');
}
//将输出缓存保存到变量
ob_start();
include($fileName);
$this->html = ob_get_clean();
//执行处理器函数……
}
//错误输出
private static function toError($error){
header('HTTP/1.0 500 Internal Server Error');
die('<!DOCTYPE HTML><html><head><meta charset="UTF-8"><title>Internal Server Error</title></head><body>PHPTemplate: '.$error.'</body></html>');
}
}
