龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php PHP最简单的模板引擎之一

时间:2015-03-25 11:43来源:网络整理 作者:网络 点击:
分享到:
PHP最简单的模板引擎之一 自用模板引擎。**[PHP]代码**[代码片段(40行)]

自用模板引擎。

[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);
    }
}
?>
精彩图集

赞助商链接