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'); } }
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>
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('name',$name); $this->assign('allName',$allName);
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('example');
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}
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:
prop | name | id |
---|---|---|
key | Array name | Current element |
value | allName | vo |
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> //判断数据是否不为空 不为空则执行
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!