首页 >php教程 >PHP源码 > PHP最简单的模板引擎之一

PHP最简单的模板引擎之一

PHP中文网
PHP中文网原创
2016-05-25 17:12:591097浏览

自用模板引擎。

PHP代码

<?php
define(&#39;APP_PATH&#39;, __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!=&#39;&#39;))   self::$_path=APP_PATH.&#39;/templates/&#39;.$path.&#39;/&#39;;
        else    self::$_path = APP_PATH.&#39;/templates/&#39;;
        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 != &#39;&#39;)&&(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(&#39;!\s+!&#39;, &#39; &#39;, $contents);
    }
}
?>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn