?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>'); } }