Home Backend Development PHP Tutorial ThinkPHP template variable output, custom functions and judgment statement usage

ThinkPHP template variable output, custom functions and judgment statement usage

Jun 06, 2018 pm 03:41 PM
thinkphp Judge sentences template Custom function

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} //输出常量
Copy after login

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
Copy after login

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>
Copy after login

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>
Copy after login

must be changed to:

Copy code The code is as follows:

<if condition="$id lt 5 "> value1
<else /> value2
</if>
Copy after login

In addition, we can use php code in the condition attribute, for example:

Copy code The code is as follows:

<if condition="strtoupper($user[&#39;name&#39;]) neq &#39;THINKPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
Copy after login

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 &#39;ThinkPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
Copy after login

Or know that the user variable is an object

Copy code The code is as follows:

<if condition="$user:name neq &#39;ThinkPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
Copy after login

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 after login

The example is as follows:

Copy code

The code is as follows:

function Cate($cid){ 
$Cate=D(&#39;Cate&#39;); 
$Cate=$Cate->where(&#39;id=&#39;.$cid)->find(); 
return $Cate[&#39;title&#39;]; 
}
Copy after login

If I want to call this function in the template, I can write it like this in the template

Copy code

The code is as follows:

{$vo.cid|cate=###}
Copy after login
Note: Customization The function should be placed in the project application directory/common/common.php. Here's the key.


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 function shielding function, and the list of prohibited functions can be configured in the configuration file;

supports variable caching function, and repeated variable strings will not be parsed multiple times.

Related recommendations:

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to run thinkphp project How to run thinkphp project Apr 09, 2024 pm 05:33 PM

To run the ThinkPHP project, you need to: install Composer; use Composer to create the project; enter the project directory and execute php bin/console serve; visit http://localhost:8000 to view the welcome page.

There are several versions of thinkphp There are several versions of thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP has multiple versions designed for different PHP versions. Major versions include 3.2, 5.0, 5.1, and 6.0, while minor versions are used to fix bugs and provide new features. The latest stable version is ThinkPHP 6.0.16. When choosing a version, consider the PHP version, feature requirements, and community support. It is recommended to use the latest stable version for best performance and support.

How to run thinkphp How to run thinkphp Apr 09, 2024 pm 05:39 PM

Steps to run ThinkPHP Framework locally: Download and unzip ThinkPHP Framework to a local directory. Create a virtual host (optional) pointing to the ThinkPHP root directory. Configure database connection parameters. Start the web server. Initialize the ThinkPHP application. Access the ThinkPHP application URL and run it.

Which one is better, laravel or thinkphp? Which one is better, laravel or thinkphp? Apr 09, 2024 pm 03:18 PM

Performance comparison of Laravel and ThinkPHP frameworks: ThinkPHP generally performs better than Laravel, focusing on optimization and caching. Laravel performs well, but for complex applications, ThinkPHP may be a better fit.

How to install thinkphp How to install thinkphp Apr 09, 2024 pm 05:42 PM

ThinkPHP installation steps: Prepare PHP, Composer, and MySQL environments. Create projects using Composer. Install the ThinkPHP framework and dependencies. Configure database connection. Generate application code. Launch the application and visit http://localhost:8000.

How is the performance of thinkphp? How is the performance of thinkphp? Apr 09, 2024 pm 05:24 PM

ThinkPHP is a high-performance PHP framework with advantages such as caching mechanism, code optimization, parallel processing and database optimization. Official performance tests show that it can handle more than 10,000 requests per second and is widely used in large-scale websites and enterprise systems such as JD.com and Ctrip in actual applications.

How to add PPT mask How to add PPT mask Mar 20, 2024 pm 12:28 PM

Regarding PPT masking, many people must be unfamiliar with it. Most people do not understand it thoroughly when making PPT, but just make it up to make what they like. Therefore, many people do not know what PPT masking means, nor do they understand it. I know what this mask does, and I don’t even know that it can make the picture less monotonous. Friends who want to learn, come and learn, and add some PPT masks to your PPT pictures. Make it less monotonous. So, how to add a PPT mask? Please read below. 1. First we open PPT, select a blank picture, then right-click [Set Background Format] and select a solid color. 2. Click [Insert], word art, enter the word 3. Click [Insert], click [Shape]

Effects of C++ template specialization on function overloading and overriding Effects of C++ template specialization on function overloading and overriding Apr 20, 2024 am 09:09 AM

C++ template specializations affect function overloading and rewriting: Function overloading: Specialized versions can provide different implementations of a specific type, thus affecting the functions the compiler chooses to call. Function overriding: The specialized version in the derived class will override the template function in the base class, affecting the behavior of the derived class object when calling the function.

See all articles