PHP最简单的模板引擎之一
时间:2021-07-01 10:21:17
帮助过:11人阅读
自用模板引擎。
- 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);
- }
- }
- ?>
|