>  기사  >  php教程  >  PHP最简单的模板引擎之一

PHP最简单的模板引擎之一

PHP中文网
PHP中文网원래의
2016-05-25 17:12:591081검색

自用模板引擎。

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으로 문의하세요.