Think/View.php
public function fetch($templateFile = '', $content = '', $prefix = '')
    {
        if (empty($content)) {
            $templateFile = $this->parseTemplate($templateFile);
            // 模板文件不存在直接返回
            if (!is_file($templateFile)) {
                throw new BaseException(L('_TEMPLATE_NOT_EXIST_').':'.$templateFile);
            }
        } else {
            defined('THEME_PATH') || define('THEME_PATH', $this->getThemePath());
        }
        // 页面缓存
        ob_start();
        ob_implicit_flush(0);
        // 使用PHP原生模板
        if ('php' == strtolower(C('TMPL_ENGINE_TYPE'))) {
            $_content = $content;
            // 模板阵列变量分解成为独立变量
            extract($this->tVar, EXTR_OVERWRITE);
            // 直接载入PHP模板
            /** @noinspection PhpIncludeInspection */
            empty($_content) ? include $templateFile : eval('?>'.$_content);
        } else {
            // 视图解析标签
            $params = ['var' => $this->tVar, 'file' => $templateFile, 'content' => $content, 'prefix' => $prefix];
            Hook::listen('view_parse', $params);
        }
        // 获取并清空缓存
        $content = ob_get_clean();
        // 内容过滤标签
        Hook::listen('view_filter', $content);

        // 输出模板文件
        return $content;
    }
public function fetch($templateFile = '', $content = '', $prefix = '')
    {
        if (empty($content)) {
            $templateFile = $this->parseTemplate($templateFile);
            // 模板文件不存在直接返回
            if (!is_file($templateFile)) {
                throw new BaseException(L('_TEMPLATE_NOT_EXIST_').':'.$templateFile);
            }
        } else {
            defined('THEME_PATH') || define('THEME_PATH', $this->getThemePath());
        }
        // 页面缓存
        ob_start();
        ob_implicit_flush(0);
        // 使用PHP原生模板
        if ('php' == strtolower(C('TMPL_ENGINE_TYPE'))) {
            $_content = $content;
            // 模板阵列变量分解成为独立变量
            extract($this->tVar, EXTR_OVERWRITE);
            // 直接载入PHP模板
            /** @noinspection PhpIncludeInspection */
            empty($_content) ? include $templateFile : eval('?>'.$_content);
        } else {
            // 视图解析标签
            $params = ['var' => $this->tVar, 'file' => $templateFile, 'content' => $content, 'prefix' => $prefix];
            Hook::listen('view_parse', $params);
        }
        // 获取并清空缓存
        $content = ob_get_clean();
        // 内容过滤标签
        Hook::listen('view_filter', $content);

        // 输出模板文件
        return $content;
    }
解析和获取模板内容 用于输出

@param string $templateFile 模板文件名
@param string $content 模板输出内容
@param string $prefix 模板缓存前缀
@return string
@throws BaseException