Properties

$xml

$xml : string

标签库定义XML文件

Type

string

$tags

$tags : 

Type

$tagLib

$tagLib : string

标签库名称

Type

string

$tagList

$tagList : string

标签库标签列表

Type

string

$parse

$parse : string

标签库分析数组

Type

string

$valid

$valid : string

标签库是否有效

Type

string

$tpl

$tpl : object

当前模板对象

Type

object

$comparison

$comparison : 

Type

Methods

__construct()

__construct() 

架构函数

parseXmlAttr()

parseXmlAttr(  $attr,   $tag) : array

TagLib标签属性分析 返回标签属性数组

Parameters

$attr
$tag

Returns

array

parseCondition()

parseCondition(string  $condition) : array

解析条件表达式

Parameters

string $condition

表达式标签内容

Returns

array

autoBuildVar()

autoBuildVar(string  $name) : string

自动识别构建变量

Parameters

string $name

变量描述

Returns

string

parseThinkVar()

parseThinkVar(string  $varStr) : string

用于标签属性里面的特殊模板变量解析 格式 以 Think. 打头的变量属于特殊模板变量

Parameters

string $varStr

变量字符串

Returns

string

getTags()

getTags() 

_php()

_php(array  $tag, string  $content) : string

php标签解析

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_volist()

_volist(array  $tag, string  $content) : string|void

volist标签解析 循环输出数据集 格式: <volist name="userList" id="user" empty="" > {user.username} {user.email} </volist>

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string|void

_foreach()

_foreach(array  $tag, string  $content) : string|void

foreach标签解析 循环输出数据集

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string|void

_if()

_if(array  $tag, string  $content) : string

if标签解析 格式: <if condition=" $a eq 1" > <elseif condition="$a eq 2" /> <else /> </if> 表达式支持 eq neq gt egt lt elt == > >= < <= or and || &&

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_elseif()

_elseif(array  $tag, string  $content) : string

else标签解析 格式:见if标签

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_else()

_else(array  $tag) : string

else标签解析

Parameters

array $tag

标签属性

Returns

string

_switch()

_switch(array  $tag, string  $content) : string

switch标签解析 格式: <switch name="a.name" > <case value="1" break="false">1</case> <case value="2" >2</case> <default />other </switch>

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_case()

_case(array  $tag, string  $content) : string

case标签解析 需要配合switch才有效

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_default()

_default(array  $tag) : string

default标签解析 需要配合switch才有效 使用: <default />ddfdf

Parameters

array $tag

标签属性

Returns

string

_compare()

_compare(array  $tag, string  $content,   $type = 'eq') : string

compare标签解析 用于值的比较 支持 eq neq gt lt egt elt heq nheq 默认是eq 格式: <compare name="" type="eq" value="" >content</compare>

Parameters

array $tag

标签属性

string $content

标签内容

$type

Returns

string

_eq()

_eq(  $tag,   $content) 

Parameters

$tag
$content

_equal()

_equal(  $tag,   $content) 

Parameters

$tag
$content

_neq()

_neq(  $tag,   $content) 

Parameters

$tag
$content

_notequal()

_notequal(  $tag,   $content) 

Parameters

$tag
$content

_gt()

_gt(  $tag,   $content) 

Parameters

$tag
$content

_lt()

_lt(  $tag,   $content) 

Parameters

$tag
$content

_egt()

_egt(  $tag,   $content) 

Parameters

$tag
$content

_elt()

_elt(  $tag,   $content) 

Parameters

$tag
$content

_heq()

_heq(  $tag,   $content) 

Parameters

$tag
$content

_nheq()

_nheq(  $tag,   $content) 

Parameters

$tag
$content

_range()

_range(array  $tag, string  $content, string  $type = 'in') : string

range标签解析 如果某个变量存在于某个范围 则输出内容 type= in 表示在范围内 否则表示在范围外 格式: <range name="var|function" value="val" type='in|notin' >content</range> example: <range name="a" value="1,2,3" type='in' >content</range>

Parameters

array $tag

标签属性

string $content

标签内容

string $type

比较类型

Returns

string

_in()

_in(  $tag,   $content) 

Parameters

$tag
$content

_notin()

_notin(  $tag,   $content) 

Parameters

$tag
$content

_between()

_between(  $tag,   $content) 

Parameters

$tag
$content

_notbetween()

_notbetween(  $tag,   $content) 

Parameters

$tag
$content

_present()

_present(array  $tag, string  $content) : string

present标签解析 如果某个变量已经设置 则输出内容 格式: <present name="" >content</present>

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_notpresent()

_notpresent(array  $tag, string  $content) : string

notpresent标签解析 如果某个变量没有设置,则输出内容 格式: <notpresent name="" >content</notpresent>

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_empty()

_empty(array  $tag, string  $content) : string

empty标签解析 如果某个变量为empty 则输出内容 格式: <empty name="" >content</empty>

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_notempty()

_notempty(  $tag,   $content) 

Parameters

$tag
$content

_defined()

_defined(  $tag, \Think\Template\TagLib\<type>  $content) : string

判断是否已经定义了该常量 <defined name='TXT'>已定义</defined>

Parameters

$tag
\Think\Template\TagLib\ $content

Returns

string

_notdefined()

_notdefined(  $tag,   $content) 

Parameters

$tag
$content

_import()

_import(array  $tag, string  $content, boolean  $isFile = false, string  $type = '') : string

import 标签解析 <import file="Js.Base" /> <import file="Css.Base" type="css" />

Parameters

array $tag

标签属性

string $content

标签内容

boolean $isFile

是否文件方式

string $type

类型

Returns

string

_load()

_load(  $tag,   $content) 

Parameters

$tag
$content

_css()

_css(  $tag,   $content) 

Parameters

$tag
$content

_js()

_js(  $tag,   $content) 

Parameters

$tag
$content

_assign()

_assign(array  $tag, string  $content) : string

assign标签解析 在模板中给某个变量赋值 支持变量赋值 格式: <assign name="" value="" />

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_define()

_define(array  $tag, string  $content) : string

define标签解析 在模板中定义常量 支持变量赋值 格式: <define name="" value="" />

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string

_for()

_for(array  $tag, string  $content) : string

for标签解析 格式: <for start="" end="" comparison="" step="" name="" />

Parameters

array $tag

标签属性

string $content

标签内容

Returns

string