Behavior/ParseTemplateBehavior.php
public function run(&$_data)
    {
        $engine = strtolower(C('TMPL_ENGINE_TYPE'));
        $_content = empty($_data['content']) ? $_data['file'] : $_data['content'];
        $_data['prefix'] = !empty($_data['prefix']) ? $_data['prefix'] : C('TMPL_CACHE_PREFIX');
        if ('think' == $engine) {
            // 采用Think模板引擎
            if ((!empty($_data['content']) && $this->checkContentCache($_data['content'], $_data['prefix']))
                || $this->checkCache($_data['file'], $_data['prefix'])
            ) { // 缓存有效
                //载入模版缓存文件
                Storage::load(
                    C('CACHE_PATH').$_data['prefix'].md5($_content).C('TMPL_CACHFILE_SUFFIX'),
                    $_data['var']
                );
            } else {
                $tpl = new Template;
                // 编译并加载模板文件
                $tpl->fetch($_content, $_data['var'], $_data['prefix']);
            }
        } else {
            // 调用第三方模板引擎解析和输出
            if (strpos($engine, '\\')) {
                $class = $engine;
            } else {
                $class = 'Think\\Template\\Driver\\'.ucwords($engine);
            }
            if (class_exists($class)) {
                $tpl = new $class;
                $tpl->fetch($_content, $_data['var']);
            } else {
                // 类没有定义
                throw new BaseException(L('_NOT_SUPPORT_').': '.$class);
            }
        }
    }
public function run(&$_data)
    {
        $engine = strtolower(C('TMPL_ENGINE_TYPE'));
        $_content = empty($_data['content']) ? $_data['file'] : $_data['content'];
        $_data['prefix'] = !empty($_data['prefix']) ? $_data['prefix'] : C('TMPL_CACHE_PREFIX');
        if ('think' == $engine) {
            // 采用Think模板引擎
            if ((!empty($_data['content']) && $this->checkContentCache($_data['content'], $_data['prefix']))
                || $this->checkCache($_data['file'], $_data['prefix'])
            ) { // 缓存有效
                //载入模版缓存文件
                Storage::load(
                    C('CACHE_PATH').$_data['prefix'].md5($_content).C('TMPL_CACHFILE_SUFFIX'),
                    $_data['var']
                );
            } else {
                $tpl = new Template;
                // 编译并加载模板文件
                $tpl->fetch($_content, $_data['var'], $_data['prefix']);
            }
        } else {
            // 调用第三方模板引擎解析和输出
            if (strpos($engine, '\\')) {
                $class = $engine;
            } else {
                $class = 'Think\\Template\\Driver\\'.ucwords($engine);
            }
            if (class_exists($class)) {
                $tpl = new $class;
                $tpl->fetch($_content, $_data['var']);
            } else {
                // 类没有定义
                throw new BaseException(L('_NOT_SUPPORT_').': '.$class);
            }
        }
    }
执行入口

@param mixed $_data
@throws BaseException