PHP最简单的模板引擎之一
程序员文章站
2024-01-26 18:46:10
...
自用模板引擎。
PHP代码
<?php define('APP_PATH', __DIR__); class Template{ private static $_vars; private static $_path; private static $_prefix; private function __construct() {} public static function init($path = null) { if(isset($path)&&($path!='')) self::$_path=APP_PATH.'/templates/'.$path.'/'; else self::$_path = APP_PATH.'/templates/'; self::$_vars = array(); } public static function set_path($path) { self::$_path = $path; } public static function set_prefix($prefix) { self::$_prefix = $prefix; } public static function assign($key, $value = null) { if(!isset(self::$_vars)) self::init(); if (is_array($key)) self::$_vars = array_merge(self::$_vars,$key); elseif (($key != '')&&(isset($value))) self::$_vars[$key] = $value; } public static function fetch($file) { if(!isset(self::$_vars)) self::init(); if(count(self::$_vars)>0) { extract(self::$_vars,EXTR_PREFIX_ALL,self::$_prefix); self::$_vars = array(); } ob_start(); include self::$_path . $file ; $contents = ob_get_contents(); ob_end_clean(); self::$_path = null; return preg_replace('!\s+!', ' ', $contents); } } ?>