PHP Class think\Template

Show file Open project: top-think/framework Class Usage Examples

Protected Properties

Property Type Description
$config 引擎配置
$data 模板变量
$storage 记录所有模板包含的文件路径及更新时间

Public Methods

Method Description
__construct ( array $config = [] ) 架构函数
__set ( mixed $name, mixed $value ) 模板引擎参数赋值
assign ( mixed $name, mixed $value = '' ) : void 模板变量赋值
config ( array | string $config ) : void | array 模板引擎配置项
display ( string $content, array $vars = [], array $config = [] ) : void 渲染模板内容
fetch ( string $template, array $vars = [], array $config = [] ) : void 渲染模板文件
get ( string $name = '' ) : mixed 模板变量获取
isCache ( string $cacheId ) : boolean 检查编译缓存是否存在
layout ( mixed $name, string $replace = '' ) : object 设置布局
parse ( string &$content ) : void 模板解析入口 支持普通标签和TagLib解析 支持自定义标签库
parseAttr ( string $str, string $name = null ) : array 分析标签属性
parseTagLib ( string $tagLib, string &$content, boolean $hide = false ) : void TagLib库解析
parseThinkVar ( array $vars ) : string 特殊模板变量解析 格式 以 $Think. 打头的变量属于特殊模板变量
parseVar ( string &$varStr ) : void 模板变量解析,支持使用函数 格式: {$varname|function1|function2=arg1,arg2}
parseVarFunction ( string &$varStr ) : void 对模板中使用了函数的变量进行解析 格式 {$varname|function1|function2=arg1,arg2}

Private Methods

Method Description
checkCache ( string $cacheFile ) : boolean 检查编译缓存是否有效 如果无效则需要重新编译
compiler ( string &$content, string $cacheFile ) : void 编译模板文件内容
getIncludeTagLib ( string &$content ) : array | null 搜索模板页面中包含的TagLib库 并返回列表
getRegex ( string $tagName ) : string 按标签生成正则
parseBlock ( string &$content, boolean $sort = false ) : array 获取模板中的block标签
parseExtend ( string &$content ) : void 解析模板中的extend标签
parseInclude ( string &$content ) : void 解析模板中的include标签
parseLayout ( string &$content ) : void 解析模板中的布局标签
parseLiteral ( string &$content, boolean $restore = false ) : void 替换页面中的literal标签
parsePhp ( string &$content ) : void 检查PHP语法
parseTag ( string &$content ) : void 模板标签解析 格式: {TagName:args [|content] }
parseTemplateFile ( string $template ) : string | false 解析模板文件名
parseTemplateName ( string $templateName ) : string 分析加载的模板文件并读取内容 支持多个模板文件读取
stripPreg ( string $str ) : string 字符串替换 避免正则混淆

Method Details

__construct() public method

架构函数
public __construct ( array $config = [] )
$config array

__set() public method

模板引擎参数赋值
public __set ( mixed $name, mixed $value )
$name mixed
$value mixed

assign() public method

模板变量赋值
public assign ( mixed $name, mixed $value = '' ) : void
$name mixed
$value mixed
return void

config() public method

模板引擎配置项
public config ( array | string $config ) : void | array
$config array | string
return void | array

display() public method

渲染模板内容
public display ( string $content, array $vars = [], array $config = [] ) : void
$content string 模板内容
$vars array 模板变量
$config array 模板参数
return void

fetch() public method

渲染模板文件
public fetch ( string $template, array $vars = [], array $config = [] ) : void
$template string 模板文件
$vars array 模板变量
$config array 模板参数
return void

get() public method

模板变量获取
public get ( string $name = '' ) : mixed
$name string 变量名
return mixed

isCache() public method

检查编译缓存是否存在
public isCache ( string $cacheId ) : boolean
$cacheId string 缓存的id
return boolean

layout() public method

设置布局
public layout ( mixed $name, string $replace = '' ) : object
$name mixed 布局模板名称 false 则关闭布局
$replace string 布局模板内容替换标识
return object

parse() public method

模板解析入口 支持普通标签和TagLib解析 支持自定义标签库
public parse ( string &$content ) : void
$content string 要解析的模板内容
return void

parseAttr() public method

分析标签属性
public parseAttr ( string $str, string $name = null ) : array
$str string 属性字符串
$name string 不为空时返回指定的属性名
return array

parseTagLib() public method

TagLib库解析
public parseTagLib ( string $tagLib, string &$content, boolean $hide = false ) : void
$tagLib string 要解析的标签库
$content string 要解析的模板内容
$hide boolean 是否隐藏标签库前缀
return void

parseThinkVar() public method

特殊模板变量解析 格式 以 $Think. 打头的变量属于特殊模板变量
public parseThinkVar ( array $vars ) : string
$vars array 变量数组
return string

parseVar() public method

模板变量解析,支持使用函数 格式: {$varname|function1|function2=arg1,arg2}
public parseVar ( string &$varStr ) : void
$varStr string 变量数据
return void

parseVarFunction() public method

对模板中使用了函数的变量进行解析 格式 {$varname|function1|function2=arg1,arg2}
public parseVarFunction ( string &$varStr ) : void
$varStr string 变量字符串
return void

Property Details

$config protected property

引擎配置
protected $config

$data protected property

模板变量
protected $data

$storage protected property

记录所有模板包含的文件路径及更新时间
protected $storage