Detailed explanation of using ThinkPHP template engine

不言
Release: 2023-03-25 18:36:01
Original
1268 people have browsed it

This article mainly introduces the detailed explanation of the use of ThinkPHP template engine. It has certain reference value. Now I share it with everyone. Friends in need can refer to it.

The thinkphp system supports native PHP templates, and it itself It has a built-in efficient compiled template engine based on XML. The template engine used by the system by default is the built-in template engine. For detailed usage of tags of this template engine, please refer to the template engine section.

ThinkPHP has a built-in template engine to define template files and use advanced features such as loading files, template layout, and template inheritance.

Each template file will generate a compiled cache file during execution, which is actually a PHP file that can be run.

PHP

/*index/controller/example.php*/
 
use think\Controller;
 
class test extends Index {
 
  public function template (){
    $name = 'Jerry';
    $allName = [
      0 => "Jerry", 
      1 => "Tom"
    ];
 
    $this->assign('nameA',$name);
    $this->assign('allName',$allName);
 
    return $this->fetch('example');
  }
}
Copy after login

HTML

/*index/view/example.html*/
 
<span>{$nameA}</span>
 
{volist name="allName" id="vo"}
 
  <p data-sub="{$key}" data-index="{$i}">{$vo}</p>
 
{/volist}
 
 
Result

<br /><span>Jerry</span>
 
<p data-sub="0" data-index="1">Jerry</p>
 
<p data-sub="1" data-index="2">Tom</p>
Copy after login

In this way, ThinkPHP completes the parsing of the page, which involves template instantiation, positioning, assignment, rendering and use of tags.

View instantiation

None at the moment

Template assignment

Obviously, $name cannot be found when using it directly in the template of this variable. Templates must be assigned values ​​using the assign method. Before executing the rendering output function, the assign method establishes a mapping relationship between the internal variables of the function and the template variables.

$this->assign(&#39;name&#39;,$name);
$this->assign(&#39;allName&#39;,$allName);
Copy after login

After assigning a value, you can use {$nameA} in the template file to output the variable.

Template rendering

When the data is ready to be rendered on the page, you also need to specify the html file as the rendering template and pass in the example parameter when executing the fetch method for the current function. .

return $this->fetch(&#39;example&#39;);
Copy after login

Template tag

Using built-in tags in template files can help us loop and judge variables in the template. It uses a pair of curly braces {tag} {/tag} as the opening and closing tags. The tag attribute or value must be immediately followed between { and }, and the presence of spaces and newlines cannot be parsed during rendering.

The volist label is one of the built-in labels, usually used to loop through an array variable.

{volist name="allName" id="vo"}
 
  <p data-sub="{$key}" data-index="{$i}">{$vo}</p>
 
{/volist}
Copy after login

allName is a variable assigned through the template. It can now be used directly on the template. Obviously it is an array, and the volist tag performs a loop operation on it.

Some commonly used attributes of volist tags:

propnameid
keyArray nameCurrent element
valueallNamevo

There are several internal variables {$key} {$i} hidden in volist, which represent the array subscript and the number of loops respectively.

Built-in tags

There are many built-in tags that are as useful as volist:

<notempty name=""></notempty> //判断数据是否不为空 不为空则执行
Copy after login

The above is the entire content of this article, and more For more related content, please pay attention to the PHP Chinese website.

Related recommendations:

thinkPHP template examples of how to use functions

##thinkPHP template arithmetic operation related function usage analysis



The above is the detailed content of Detailed explanation of using ThinkPHP template engine. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template