#### Template
~~~
// 构造函数
$template = new Template(array $config = []);
/**
* 字符串替换 避免正则混淆
* @access private
* @param string $str
* @return string
*/
$this->stripPreg($str);
/**
* 模板变量赋值
* @access public
* @param mixed $name
* @param mixed $value
* @return void
*/
$template->assign($name, $value = '');
/**
* 模板引擎参数赋值
* @access public
* @param mixed $name
* @param mixed $value
*/
$template->__set($name, $value);
/**
* 模板引擎配置项
* @access public
* @param array|string $config
* @return void|array
*/
$template->config($config);
/**
* 模板变量获取
* @access public
* @param string $name 变量名
* @return mixed
*/
$template->get($name = '');
/**
* 渲染模板文件
* @access public
* @param string $template 模板文件
* @param array $vars 模板变量
* @param array $config 模板参数
* @return void
*/
$template->fetch($template, $vars = [], $config = []);
/**
* 渲染模板内容
* @access public
* @param string $content 模板内容
* @param array $vars 模板变量
* @param array $config 模板参数
* @return void
*/
$template->display($content, $vars = [], $config = []);
/**
* 设置布局
* @access public
* @param mixed $name 布局模板名称 false 则关闭布局
* @param string $replace 布局模板内容替换标识
* @return object
*/
$template->layout($name, $replace = '');
/**
* 检查编译缓存是否有效
* 如果无效则需要重新编译
* @access private
* @param string $cacheFile 缓存文件名
* @return boolean
*/
$this->checkCache($cacheFile);
/**
* 检查编译缓存是否存在
* @access public
* @param string $cacheId 缓存的id
* @return boolean
*/
$template->isCache($cacheId);
/**
* 编译模板文件内容
* @access private
* @param string $content 模板内容
* @param string $cacheFile 缓存文件名
* @return void
*/
$this->compiler(&$content, $cacheFile);
/**
* 模板解析入口
* 支持普通标签和TagLib解析 支持自定义标签库
* @access public
* @param string $content 要解析的模板内容
* @return void
*/
$template->parse(&$content);
/**
* 检查PHP语法
* @access private
* @param string $content 要解析的模板内容
* @return void
* @throws \think\Exception
*/
$this->parsePhp(&$content);
/**
* 解析模板中的布局标签
* @access private
* @param string $content 要解析的模板内容
* @return void
*/
$this->parseLayout(&$content);
/**
* 解析模板中的include标签
* @access private
* @param string $content 要解析的模板内容
* @return void
*/
$this->parseInclude(&$content);
/**
* 解析模板中的extend标签
* @access private
* @param string $content 要解析的模板内容
* @return void
*/
$this->parseExtend(&$content);
/**
* 替换页面中的literal标签
* @access private
* @param string $content 模板内容
* @param boolean $restore 是否为还原
* @return void
*/
$this->parseLiteral(&$content, $restore = false);
/**
* 获取模板中的block标签
* @access private
* @param string $content 模板内容
* @param boolean $sort 是否排序
* @return array
*/
$this->parseBlock(&$content, $sort = false);
/**
* 搜索模板页面中包含的TagLib库
* 并返回列表
* @access private
* @param string $content 模板内容
* @return array|null
*/
$this->getIncludeTagLib(&$content);
/**
* TagLib库解析
* @access public
* @param string $tagLib 要解析的标签库
* @param string $content 要解析的模板内容
* @param boolean $hide 是否隐藏标签库前缀
* @return void
*/
$template->parseTagLib($tagLib, &$content, $hide = false);
/**
* 分析标签属性
* @access public
* @param string $str 属性字符串
* @param string $name 不为空时返回指定的属性名
* @return array
*/
$template->parseAttr($str, $name = null);
/**
* 模板标签解析
* 格式: {TagName:args [|content] }
* @access private
* @param string $content 要解析的模板内容
* @return void
*/
$this->parseTag(&$content);
/**
* 模板变量解析,支持使用函数
* 格式: {$varname|function1|function2=arg1,arg2}
* @access public
* @param string $varStr 变量数据
* @return void
*/
$template->parseVar(&$varStr);
/**
* 对模板中使用了函数的变量进行解析
* 格式 {$varname|function1|function2=arg1,arg2}
* @access public
* @param string $varStr 变量字符串
* @return void
*/
$template->parseVarFunction(&$varStr);
/**
* 特殊模板变量解析
* 格式 以 $Think. 打头的变量属于特殊模板变量
* @access public
* @param array $vars 变量数组
* @return string
*/
$template->parseThinkVar($vars);
/**
* 分析加载的模板文件并读取内容 支持多个模板文件读取
* @access private
* @param string $templateName 模板文件名
* @return string
*/
$this->parseTemplateName($templateName);
/**
* 解析模板文件名
* @access private
* @param string $template 文件名
* @return string|false
*/
$this->parseTemplateFile($template);
/**
* 按标签生成正则
* @access private
* @param string $tagName 标签名
* @return string
*/
$this->getRegex($tagName);
~~~