This article mainly introduces the variable output, custom functions and judgment statement usage of ThinkPHP templates. It is a very practical skill in ThinkPHP template operations. Friends who need it can refer to it
This article explains the examples ThinkPHP template variable output, custom functions and judgment statement usage. It mainly includes three usages: variable output, custom function and judgment statement. Share it with everyone for your reference. The specific analysis is as follows:
Template operation variable output:
Quick output variable
Copy code The code is as follows:
{:function(…)} //执行方法并输出返回值 {~function} //执行方法不输出 {@var} //输出Session变量 {#var} //输出Cookie变量 {&var} //输出配置参数 {%var} //输出语言变量 {.var} //输出GET变量 {^var} //输出POST变量 {*var} //输出常量
Template output
Copy code The code is as follows:
//1 直接调用index操作模板 $this->display(); // 对应Myapp/Tpl/default/Index/index.html //2 调用Index模块的test1操作模板 $this->display('test1'); //对应Myapp/Tpl/default/Index/test1.html //2 调用Message模块的test2操作模板() $this->display('Message:test2'); //对应Myapp/Tpl/default/Message/test2.html //3 调用XP主题的Message模块的test2操作模板 $this->display('Xp@Message:test2'); //对应Myapp/Tpl/Xp/Message/test2.html //4 直接指定模板文件的全名 $this->display('../Message/test3.html'); //对应Myapp/Tpl/default/Message/test3.html
Use judgment statements
We can use if tags to define complex conditional judgments, for example:
Copy code The code is as follows:
<if condition="($name eq 1) OR ($name gt 100) "> value1 <elseif condition="$name eq 2" />value2 <else /> value3 </if>
The condition attribute can support eq and other judgment expressions, the same as the comparison tag above, but does not support "> The usage of symbols such as ", "<" will confuse template parsing, so the following usage is wrong:
<if condition="$id < 5 "> value1 <else /> value2 </if>
must be changed to:
Copy code The code is as follows:
<if condition="$id lt 5 "> value1 <else /> value2 </if>
In addition, we can use php code in the condition attribute, for example:
Copy code The code is as follows:
<if condition="strtoupper($user['name']) neq 'THINKPHP' "> ThinkPHP <else /> other Framework </if>
The condition attribute can support dot syntax and object syntax, for example:
Automatically determine whether the user variable is an array or an object
Copy code The code is as follows:
<if condition="$user.name neq 'ThinkPHP' "> ThinkPHP <else /> other Framework </if>
Or know that the user variable is an object
Copy code The code is as follows:
<if condition="$user:name neq 'ThinkPHP' "> ThinkPHP <else /> other Framework </if>
Since the condition attribute of the if tag basically uses PHP syntax, so It may be more concise to use judgment tags and switch tags. In principle, if it can be solved with switch and comparison tags, try not to use if tags. Because switch and comparison tags can use variable modifiers and system variables. If the IF tag still cannot meet certain special requirements, you can use native PHP code or PHP tags to write code directly.
eq is equal to (==)
neq is not equal to (!=)
gt is greater than (>)
egt is greater than or equal to (>=)
lt is less than (< )
elt is less than or equal to (<=)
heq is equal to (===)
nheq is not equal to (!==)
condition condition
Note
condition attribute value , variables require the $ sign, which is different from other labels.
How to use custom functions
Function calling format of template variables: {$varname|function1|function2=arg1, arg2,
}
Usage example:
Copy code
The code is as follows:{$webTitle|md5|strtoupper|substr=0,3} {$number|number_format=2} {$varname|function1|function2=arg1,arg2,### }
Copy code
The code is as follows:
function Cate($cid){ $Cate=D('Cate'); $Cate=$Cate->where('id='.$cid)->find(); return $Cate['title']; }
Copy code
The code is as follows:{$vo.cid|cate=###}
Note: There can be no spaces between
{ and $ symbols, and there will be no problem with spaces in subsequent parameters;
indicates the parameter position of the template variable itself;
supports multiple functions , supports spaces between functions;
supports variable caching function, and repeated variable strings will not be parsed multiple times.
ThinkPHP template replacement and system constants and application examples######
The above is the detailed content of ThinkPHP template variable output, custom functions and judgment statement usage. For more information, please follow other related articles on the PHP Chinese website!