💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
#### 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); ~~~