Home > Article > Backend Development > Detailed explanation of how to use ThinkPHP template engine
thinkphp system supports native PHP templates, and 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>
This way ThinkPHP completes the parsing of the page, which involves template instantiation, positioning, assignment, rendering and the 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 assignment, 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 determine 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:
name | id | |
---|---|---|
array name | current element | |
allName | vo |
There are many built-in tags that are as useful as volist:
<notempty name=""></notempty> //判断数据是否不为空 不为空则执行
Related recommendations:
Node.js uses jadeTemplate engineDetailed steps
template engineJade usage steps detailed explanation
template engineJade tag Detailed explanation of usage
The above is the detailed content of Detailed explanation of how to use ThinkPHP template engine. For more information, please follow other related articles on the PHP Chinese website!